summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-message.c
diff options
context:
space:
mode:
authorJohn (J5) Palmieri <johnp@redhat.com>2005-06-15 15:15:32 +0000
committerJohn (J5) Palmieri <johnp@redhat.com>2005-06-15 15:15:32 +0000
commit5e389fdf499c39926c61b47fcafb5e71291ce1a2 (patch)
treeb542e635c28d230c1aab61c8bca05f9f8041a18a /dbus/dbus-message.c
parent1d19fc62e9034cc5700c0903f68787a84f485315 (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.c7
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
{