diff options
author | Havoc Pennington <hp@redhat.com> | 2005-01-17 19:49:52 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2005-01-17 19:49:52 +0000 |
commit | 62e465339a306fa564b69935da494dad6e1b474a (patch) | |
tree | 0c75e656937e148983dbf3ea313b0bb9efb9f6c6 /dbus/dbus-marshal-validate.c | |
parent | 7bf62e31a3c820852271768fafc04ba95c31a19f (diff) |
2005-01-17 Havoc Pennington <hp@redhat.com>
* dbus/dbus-types.h: hardcode dbus_bool_t to 32 bits
* Throughout: modify DBUS_TYPE_BOOLEAN to be a 32-bit type instead
of an 8-bit type. Now dbus_bool_t is the type to use whenever you
are marshaling/unmarshaling a boolean.
Diffstat (limited to 'dbus/dbus-marshal-validate.c')
-rw-r--r-- | dbus/dbus-marshal-validate.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/dbus/dbus-marshal-validate.c b/dbus/dbus-marshal-validate.c index d3507739..05148604 100644 --- a/dbus/dbus-marshal-validate.c +++ b/dbus/dbus-marshal-validate.c @@ -159,11 +159,6 @@ validate_body_helper (DBusTypeReader *reader, break; case DBUS_TYPE_BOOLEAN: - if (!(*p == 0 || *p == 1)) - return DBUS_INVALID_BOOLEAN_NOT_ZERO_OR_ONE; - ++p; - break; - case DBUS_TYPE_INT32: case DBUS_TYPE_UINT32: case DBUS_TYPE_INT64: @@ -179,6 +174,15 @@ validate_body_helper (DBusTypeReader *reader, return DBUS_INVALID_ALIGNMENT_PADDING_NOT_NUL; ++p; } + + if (current_type == DBUS_TYPE_BOOLEAN) + { + dbus_uint32_t v = _dbus_unpack_uint32 (byte_order, + p); + if (!(v == 0 || v == 1)) + return DBUS_INVALID_BOOLEAN_NOT_ZERO_OR_ONE; + } + p += alignment; break; |