mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-31 22:25:33 -04:00
stream-restore: With dbus-proto fix segfault if e->device is NULL.
If first part of test is false and e->device is NULL pa_streq will segfault. Fix by using pa_safe_streq, which checks strings for NULL before doing strcmp.
This commit is contained in:
parent
d1730ab65a
commit
1a1d5086ad
1 changed files with 2 additions and 2 deletions
|
|
@ -645,7 +645,7 @@ static void handle_add_entry(DBusConnection *conn, DBusMessage *msg, void *userd
|
|||
e->channel_map = map;
|
||||
e->volume_valid = !!map.channels;
|
||||
|
||||
device_updated = (e->device_valid != !!device[0]) || !pa_streq(e->device, device);
|
||||
device_updated = (e->device_valid != !!device[0]) || !pa_safe_streq(e->device, device);
|
||||
pa_xfree(e->device);
|
||||
e->device = pa_xstrdup(device);
|
||||
e->device_valid = !!device[0];
|
||||
|
|
@ -757,7 +757,7 @@ static void handle_entry_set_device(DBusConnection *conn, DBusMessage *msg, DBus
|
|||
|
||||
pa_assert_se(e = entry_read(de->userdata, de->entry_name));
|
||||
|
||||
updated = (e->device_valid != !!device[0]) || !pa_streq(e->device, device);
|
||||
updated = (e->device_valid != !!device[0]) || !pa_safe_streq(e->device, device);
|
||||
|
||||
if (updated) {
|
||||
pa_xfree(e->device);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue