mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2025-12-31 17:10:09 +01:00
config: return BadValue to caller if add/remove doesn't have parameters.
If message iterator cannot be created, the caller didn't supply any
parameters. Return BadValue, instead of dying a horrible death while being
stuck in an endless loop.
(cherry picked from commit 0fcde83d94)
This commit is contained in:
parent
99dd8b9414
commit
c0da35bda1
1 changed files with 6 additions and 4 deletions
|
|
@ -74,11 +74,12 @@ add_device(DBusMessage *message, DBusMessage *reply, DBusError *error)
|
|||
int ret, err;
|
||||
DeviceIntPtr dev = NULL;
|
||||
|
||||
dbus_message_iter_init_append(reply, &reply_iter);
|
||||
|
||||
if (!dbus_message_iter_init(message, &iter)) {
|
||||
ErrorF("[config/dbus] couldn't initialise iterator\n");
|
||||
return BadAlloc;
|
||||
MALFORMED_MESSAGE();
|
||||
}
|
||||
dbus_message_iter_init_append(reply, &reply_iter);
|
||||
|
||||
options = xcalloc(sizeof(*options), 1);
|
||||
if (!options) {
|
||||
|
|
@ -200,11 +201,12 @@ remove_device(DBusMessage *message, DBusMessage *reply, DBusError *error)
|
|||
DeviceIntPtr dev;
|
||||
DBusMessageIter iter, reply_iter;
|
||||
|
||||
dbus_message_iter_init_append(reply, &reply_iter);
|
||||
|
||||
if (!dbus_message_iter_init(message, &iter)) {
|
||||
ErrorF("[config] failed to init iterator\n");
|
||||
return BadAlloc;
|
||||
MALFORMED_MESSAGE();
|
||||
}
|
||||
dbus_message_iter_init_append(reply, &reply_iter);
|
||||
|
||||
if (!dbus_message_get_args(message, error, DBUS_TYPE_UINT32,
|
||||
&deviceid, DBUS_TYPE_INVALID)) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue