diff options
Diffstat (limited to 'dbus/dbus-message.c')
-rw-r--r-- | dbus/dbus-message.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c index b7f66644..864887ad 100644 --- a/dbus/dbus-message.c +++ b/dbus/dbus-message.c @@ -230,7 +230,10 @@ dbus_message_append_int32 (DBusMessage *message, _dbus_assert (!message->locked); if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_INT32)) - return FALSE; + { + _dbus_string_shorten (&message->body, 1); + return FALSE; + } return _dbus_marshal_int32 (&message->body, DBUS_COMPILER_BYTE_ORDER, value); @@ -251,7 +254,10 @@ dbus_message_append_uint32 (DBusMessage *message, _dbus_assert (!message->locked); if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_UINT32)) - return FALSE; + { + _dbus_string_shorten (&message->body, 1); + return FALSE; + } return _dbus_marshal_uint32 (&message->body, DBUS_COMPILER_BYTE_ORDER, value); @@ -272,7 +278,10 @@ dbus_message_append_double (DBusMessage *message, _dbus_assert (!message->locked); if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_INT32)) - return FALSE; + { + _dbus_string_shorten (&message->body, 1); + return FALSE; + } return _dbus_marshal_double (&message->body, DBUS_COMPILER_BYTE_ORDER, value); @@ -294,7 +303,10 @@ dbus_message_append_string (DBusMessage *message, _dbus_assert (value != NULL); if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_UTF8_STRING)) - return FALSE; + { + _dbus_string_shorten (&message->body, 1); + return FALSE; + } return _dbus_marshal_string (&message->body, DBUS_COMPILER_BYTE_ORDER, value); @@ -318,7 +330,10 @@ dbus_message_append_byte_array (DBusMessage *message, _dbus_assert (value != NULL); if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_BYTE_ARRAY)) - return FALSE; + { + _dbus_string_shorten (&message->body, 1); + return FALSE; + } return _dbus_marshal_byte_array (&message->body, DBUS_COMPILER_BYTE_ORDER, value, len); |