diff options
author | John (J5) Palmieri <johnp@redhat.com> | 2005-06-15 15:15:32 +0000 |
---|---|---|
committer | John (J5) Palmieri <johnp@redhat.com> | 2005-06-15 15:15:32 +0000 |
commit | 5e389fdf499c39926c61b47fcafb5e71291ce1a2 (patch) | |
tree | b542e635c28d230c1aab61c8bca05f9f8041a18a /dbus/dbus-message.c | |
parent | 1d19fc62e9034cc5700c0903f68787a84f485315 (diff) |
* dbus/dbus-marshal-validate.h: Added a new validation
error code DBUS_VALIDITY_UNKNOWN_OOM_ERROR = -4 for
out of memory errors when validating signitures
* dbus/dbus-marshal-header.c: use DBUS_VALIDITY_UNKNOWN_OOM_ERROR
in places where we previously used DBUS_VALID and a FALSE return
value to indicate OOM
* dbus/dbus-marshal-validate.c (_dbus_validate_signature_with_reason):
Use a stack to track the number of elements inside containers. The
stack values are then used to validate that dict entries have only two
elements within them.
(validate_body_helper): check the reason for failure when validating
varients
* dbus/dbus-message.c (load_message): use
DBUS_VALIDITY_UNKNOWN_OOM_ERROR in places where we previously used
DBUS_VALID and a FALSE return value to indicate OOM
* doc/TODO: remove "- validate dict entry number of fields" as this
patch fixes it
Diffstat (limited to 'dbus/dbus-message.c')
-rw-r--r-- | dbus/dbus-message.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c index d9a5234f..cdfdf5f3 100644 --- a/dbus/dbus-message.c +++ b/dbus/dbus-message.c @@ -3205,7 +3205,12 @@ load_message (DBusMessageLoader *loader, _dbus_string_get_length (&loader->data))) { _dbus_verbose ("Failed to load header for new message code %d\n", validity); - if (validity == DBUS_VALID) + + /* assert here so we can catch any code that still uses DBUS_VALID to indicate + oom errors. They should use DBUS_VALIDITY_UNKNOWN_OOM_ERROR instead */ + _dbus_assert (validity != DBUS_VALID); + + if (validity == DBUS_VALIDITY_UNKNOWN_OOM_ERROR) oom = TRUE; else { |