diff options
author | Dan Williams <dcbw@redhat.com> | 2012-01-18 18:08:20 -0600 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2012-01-18 18:08:20 -0600 |
commit | f9a32a47edd7b882b3522cb4e39a071c667ac73b (patch) | |
tree | f23ff4db4d90acdf4d21cbefd55e3ee2c8b2c6e4 /libqcdm/src | |
parent | fc3fd7b983c564bc6d6523ad1232959734e04025 (diff) |
gsm: fix return value of SMS send method
The introspection data specified the Send() method to return
an array of unsigned integers, presumably the indexes of the
messages just sent. But the code wasn't doing that, leading
to a crash when dbus-glib tried to interpret garbage on the
return.
The problem is that sms_send_auth_cb() gave async_call_done()
as the callback for sending the SMS, but that method just calls
dbus_g_method_return() with no return arguments. dbus-glib
interprets the arguments of dbus_g_method_return() according
to the XML introspection data, and thus it was attempting to
read the non-existent argument as an 'au' and getting garbage.
Fix that by actually returning an array of message indexes from
the SMS send code, and propagate that back to the SMS dbus
code so it can return something sensible.
Diffstat (limited to 'libqcdm/src')
0 files changed, 0 insertions, 0 deletions