mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-01-06 00:10:38 +01:00
dbus_message_iter_append_fixed_array: add a check for valid booleans
The reasoning is the same as for dbus_message_iter_append_basic. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=16338 Reviewed-by: Cosimo Alfarano <cosimo.alfarano@collabora.co.uk>
This commit is contained in:
parent
bb32afe831
commit
a9cbeecfcc
1 changed files with 13 additions and 0 deletions
|
|
@ -2660,6 +2660,19 @@ dbus_message_iter_append_fixed_array (DBusMessageIter *iter,
|
|||
DBUS_MAXIMUM_ARRAY_LENGTH / _dbus_type_get_alignment (element_type),
|
||||
FALSE);
|
||||
|
||||
#ifndef DBUS_DISABLE_CHECKS
|
||||
if (element_type == DBUS_TYPE_BOOLEAN)
|
||||
{
|
||||
const dbus_bool_t * const *bools = value;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < n_elements; i++)
|
||||
{
|
||||
_dbus_return_val_if_fail ((*bools)[i] == 0 || (*bools)[i] == 1, FALSE);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
ret = _dbus_type_writer_write_fixed_multi (&real->u.writer, element_type, value, n_elements);
|
||||
|
||||
return ret;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue