mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-09 13:29:59 -05:00
dbus: Do message argument type checking early, centrally.
This commit is contained in:
parent
7bc8a793b8
commit
0e096632c5
11 changed files with 470 additions and 641 deletions
|
|
@ -359,14 +359,10 @@ static void handle_play(DBusConnection *conn, DBusMessage *msg, void *userdata)
|
|||
pa_assert(msg);
|
||||
pa_assert(s);
|
||||
|
||||
if (!dbus_message_iter_init(msg, &msg_iter)) {
|
||||
pa_dbus_send_error(conn, msg, DBUS_ERROR_INVALID_ARGS, "Too few arguments.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (pa_dbus_get_basic_arg(conn, msg, &msg_iter, DBUS_TYPE_UINT32, &volume) < 0)
|
||||
return;
|
||||
pa_assert_se(dbus_message_iter_init(msg, &msg_iter));
|
||||
dbus_message_iter_get_basic(&msg_iter, &volume);
|
||||
|
||||
pa_assert_se(dbus_message_iter_next(&msg_iter));
|
||||
if (!(property_list = pa_dbus_get_proplist_arg(conn, msg, &msg_iter)))
|
||||
return;
|
||||
|
||||
|
|
@ -405,17 +401,13 @@ static void handle_play_to_sink(DBusConnection *conn, DBusMessage *msg, void *us
|
|||
pa_assert(msg);
|
||||
pa_assert(s);
|
||||
|
||||
if (!dbus_message_iter_init(msg, &msg_iter)) {
|
||||
pa_dbus_send_error(conn, msg, DBUS_ERROR_INVALID_ARGS, "Too few arguments.");
|
||||
return;
|
||||
}
|
||||
pa_assert_se(dbus_message_iter_init(msg, &msg_iter));
|
||||
dbus_message_iter_get_basic(&msg_iter, &sink_path);
|
||||
|
||||
if (pa_dbus_get_basic_arg(conn, msg, &msg_iter, DBUS_TYPE_OBJECT_PATH, &sink_path) < 0)
|
||||
return;
|
||||
|
||||
if (pa_dbus_get_basic_arg(conn, msg, &msg_iter, DBUS_TYPE_UINT32, &volume) < 0)
|
||||
return;
|
||||
pa_assert_se(dbus_message_iter_next(&msg_iter));
|
||||
dbus_message_iter_get_basic(&msg_iter, &volume);
|
||||
|
||||
pa_assert_se(dbus_message_iter_next(&msg_iter));
|
||||
if (!(property_list = pa_dbus_get_proplist_arg(conn, msg, &msg_iter)))
|
||||
return;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue