From 62e465339a306fa564b69935da494dad6e1b474a Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Mon, 17 Jan 2005 19:49:52 +0000 Subject: 2005-01-17 Havoc Pennington * 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. --- dbus/dbus-marshal-validate.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'dbus/dbus-marshal-validate.c') 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; -- cgit