diff options
| author | Anders Carlsson <andersca@codefactory.se> | 2003-02-21 18:45:08 +0000 | 
|---|---|---|
| committer | Anders Carlsson <andersca@codefactory.se> | 2003-02-21 18:45:08 +0000 | 
| commit | fdb3ecc33366edc475e684baa8adb3c933563f0d (patch) | |
| tree | 6b9e29efd63ba1e673f89f66240fcdbbaa6ede8b | |
| parent | babdabd40c98a1a5db93e5315bf0b2609e73f426 (diff) | |
2003-02-21  Anders Carlsson  <andersca@codefactory.se>
	* dbus/dbus-message.c: (dbus_message_append_nil),
	(dbus_message_append_int32), (dbus_message_append_uint32),
	(dbus_message_append_double), (dbus_message_append_string),
	(dbus_message_append_int32_array),
	(dbus_message_append_uint32_array),
	(dbus_message_append_double_array),
	(dbus_message_append_byte_array),
	(dbus_message_append_string_array):
	Fix all out-of-memory handling in these functions.
| -rw-r--r-- | ChangeLog | 18 | ||||
| -rw-r--r-- | dbus/dbus-message.c | 116 | 
2 files changed, 66 insertions, 68 deletions
@@ -1,5 +1,22 @@  2003-02-21  Anders Carlsson  <andersca@codefactory.se> +	* dbus/dbus-message.c: (dbus_message_append_nil), +	(dbus_message_append_int32), (dbus_message_append_uint32), +	(dbus_message_append_double), (dbus_message_append_string), +	(dbus_message_append_int32_array), +	(dbus_message_append_uint32_array), +	(dbus_message_append_double_array), +	(dbus_message_append_byte_array), +	(dbus_message_append_string_array): +	Fix all out-of-memory handling in these functions. + +2003-02-21  Anders Carlsson  <andersca@codefactory.se> + +	* dbus/dbus-message.c: (dbus_message_append_nil): +	Fix a silly. +	 +2003-02-21  Anders Carlsson  <andersca@codefactory.se> +  	* dbus/dbus-message.c: (dbus_message_append_args_valist),  	(dbus_message_append_nil), (dbus_message_append_int32_array),  	(dbus_message_append_uint32_array), @@ -11,6 +28,7 @@  	(dbus_message_iter_get_double_array),  	(dbus_message_iter_get_byte_array),  	(dbus_message_iter_get_string_array): +  	* dbus/dbus-message.h:  	Add functions for appending and getting arrays. diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c index 54573fff..0c6b72d1 100644 --- a/dbus/dbus-message.c +++ b/dbus/dbus-message.c @@ -1151,12 +1151,9 @@ dbus_message_append_nil (DBusMessage *message)    _dbus_assert (!message->locked);    if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_NIL)) -    { -      _dbus_string_shorten (&message->body, 1);        return FALSE; -    } - -  return TRUE; +  else +    return TRUE;  }  /** @@ -1173,13 +1170,15 @@ dbus_message_append_int32 (DBusMessage  *message,    _dbus_assert (!message->locked);    if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_INT32)) +      return FALSE; +   +  if (!_dbus_marshal_int32 (&message->body, message->byte_order, value))      {        _dbus_string_shorten (&message->body, 1);        return FALSE;      } -   -  return _dbus_marshal_int32 (&message->body, -			      message->byte_order, value); + +  return TRUE;  }  /** @@ -1196,13 +1195,15 @@ dbus_message_append_uint32 (DBusMessage   *message,    _dbus_assert (!message->locked);    if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_UINT32)) +      return FALSE; +   +  if (!_dbus_marshal_uint32 (&message->body, message->byte_order, value))      {        _dbus_string_shorten (&message->body, 1);        return FALSE;      } -   -  return _dbus_marshal_uint32 (&message->body, -			       message->byte_order, value); + +  return TRUE;        }  /** @@ -1219,13 +1220,15 @@ dbus_message_append_double (DBusMessage *message,    _dbus_assert (!message->locked);    if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_DOUBLE)) +    return FALSE; + +  if (!_dbus_marshal_double (&message->body, message->byte_order, value))      {        _dbus_string_shorten (&message->body, 1);        return FALSE;      } -  return _dbus_marshal_double (&message->body, -			       message->byte_order, value); +  return TRUE;  }  /** @@ -1242,13 +1245,15 @@ dbus_message_append_string (DBusMessage *message,    _dbus_assert (!message->locked);    if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_STRING)) +      return FALSE; +   +  if (!_dbus_marshal_string (&message->body, message->byte_order, value))      {        _dbus_string_shorten (&message->body, 1); -      return FALSE; +      return FALSE;            } -   -  return _dbus_marshal_string (&message->body, -			       message->byte_order, value); + +  return TRUE;  }  /** @@ -1264,23 +1269,18 @@ dbus_message_append_int32_array (DBusMessage        *message,  				 const dbus_int32_t *value,  				 int                 len)  { -  int old_len; -    _dbus_assert (!message->locked); -  old_len = _dbus_string_get_length (&message->body); -    if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_INT32_ARRAY)) -    goto enomem; +    return FALSE;    if (!_dbus_marshal_int32_array (&message->body, message->byte_order,  				  value, len)) -    goto enomem; - -  return TRUE; +    { +      _dbus_string_shorten (&message->body, 1); +      return FALSE; +    } - enomem: -  _dbus_string_set_length (&message->body, old_len);    return TRUE;  } @@ -1297,23 +1297,18 @@ dbus_message_append_uint32_array (DBusMessage         *message,  				  const dbus_uint32_t *value,  				  int                  len)  { -  int old_len; -    _dbus_assert (!message->locked); -  old_len = _dbus_string_get_length (&message->body); -    if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_UINT32_ARRAY)) -    goto enomem; +    return FALSE;    if (!_dbus_marshal_uint32_array (&message->body, message->byte_order,  				  value, len)) -    goto enomem; - -  return TRUE; +    { +      _dbus_string_shorten (&message->body, 1); +      return FALSE; +    } - enomem: -  _dbus_string_set_length (&message->body, old_len);    return TRUE;  } @@ -1330,24 +1325,19 @@ dbus_message_append_double_array (DBusMessage  *message,  				  const double *value,  				  int           len)  { -  int old_len; -    _dbus_assert (!message->locked); -  old_len = _dbus_string_get_length (&message->body); -    if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_DOUBLE_ARRAY)) -    goto enomem; +    return FALSE;    if (!_dbus_marshal_double_array (&message->body, message->byte_order,  				   value, len)) -    goto enomem; +    { +      _dbus_string_shorten (&message->body, 1); +      return FALSE; +    }    return TRUE; - - enomem: -  _dbus_string_set_length (&message->body, old_len); -  return TRUE;    }  /** @@ -1363,23 +1353,18 @@ dbus_message_append_byte_array (DBusMessage         *message,  				unsigned const char *value,  				int                 len)  { -  int old_len; -      _dbus_assert (!message->locked); -  old_len = _dbus_string_get_length (&message->body); -      if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_BYTE_ARRAY)) -      goto enomem; +    return FALSE;    if (!_dbus_marshal_byte_array (&message->body, message->byte_order, value, len)) -    goto enomem; - +    { +      _dbus_string_shorten (&message->body, 1); +      return FALSE; +    } +          return TRUE; -   - enomem: -  _dbus_string_set_length (&message->body, old_len); -  return FALSE;  }  /** @@ -1395,24 +1380,19 @@ dbus_message_append_string_array (DBusMessage *message,  				  const char **value,  				  int          len)  { -  int old_len; -    _dbus_assert (!message->locked); -  old_len = _dbus_string_get_length (&message->body); -    if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_STRING_ARRAY)) -    goto enomem; +    return FALSE;    if (!_dbus_marshal_string_array (&message->body, message->byte_order,  				   value, len)) -    goto enomem; +    { +      _dbus_string_shorten (&message->body, 1); +      return FALSE; +    }    return TRUE; - - enomem: -  _dbus_string_set_length (&message->body, old_len); -  return FALSE;  }  /**  | 
