Michael Olbrich
63173d5bef
pipewire: handle deleting the capturer while a D-Bus call is in progress
...
If a D-Bus call is in progress when a BaseCapturerPipeWire is deleted, then
the user_data is invalid when the callback function is called. This results
in memory corruption.
To fix this, use a GCancellable. If it is canceled, the callback will be
called with a corresponding error. Detect this error and abort before
accessing the user_data.
Note: The first argument is the 'source_object'. For g_dbus_proxy_call()
this is the proxy object not the connection. This was not a problem before,
because it was not used.
Bug: None
Change-Id: I8d5e3fb5c49fcc9afd61cdb8e8249f78b9434faf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149817
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#29326}
2019-09-26 18:58:56 +00:00
..
2019-09-26 18:58:56 +00:00
2019-08-28 09:30:32 +00:00
2019-09-17 15:47:29 +00:00
2019-04-09 17:18:20 +00:00
2019-07-08 13:45:15 +00:00
2018-12-22 00:10:40 +00:00
2019-09-17 15:47:29 +00:00
2019-01-11 21:16:22 +00:00
2018-11-28 18:25:07 +00:00
2019-09-17 15:47:29 +00:00
2019-07-08 13:45:15 +00:00
2018-11-28 18:25:07 +00:00
2019-08-21 07:55:07 +00:00
2019-07-08 13:45:15 +00:00
2018-12-22 00:10:40 +00:00
2018-04-10 00:37:59 +00:00
2019-07-08 13:45:15 +00:00
2019-09-17 15:47:29 +00:00
2019-01-11 17:11:39 +00:00
2019-07-27 00:50:03 +00:00
2018-07-25 14:59:26 +00:00
2019-04-09 17:18:20 +00:00
2019-07-08 13:45:15 +00:00
2018-12-22 00:10:40 +00:00
2018-11-28 18:25:07 +00:00
2019-07-27 00:50:03 +00:00
2018-12-22 00:10:40 +00:00
2019-07-08 13:45:15 +00:00
2018-11-28 18:25:07 +00:00
2018-11-28 18:25:07 +00:00
2019-09-17 15:47:29 +00:00
2018-06-19 14:00:39 +00:00
2019-07-08 13:45:15 +00:00
2019-09-17 15:47:29 +00:00
2019-08-21 07:55:07 +00:00
2019-08-21 07:55:07 +00:00
2019-09-06 05:36:23 +00:00
2019-07-08 13:45:15 +00:00
2019-07-08 13:45:15 +00:00
2019-07-08 13:45:15 +00:00
2018-11-28 18:25:07 +00:00
2018-07-25 14:59:26 +00:00
2018-06-19 14:00:39 +00:00
2018-06-19 14:00:39 +00:00
2018-11-28 18:25:07 +00:00
2018-11-28 18:25:07 +00:00
2019-07-08 13:45:15 +00:00
2019-07-08 13:45:15 +00:00
2018-12-22 00:10:40 +00:00
2019-07-08 13:45:15 +00:00
2018-11-28 18:25:07 +00:00
2019-08-28 09:30:32 +00:00
2019-07-08 13:45:15 +00:00
2019-07-08 13:45:15 +00:00
2019-08-21 07:55:07 +00:00
2019-04-02 10:13:36 +00:00
2018-06-19 14:00:39 +00:00
2019-04-02 10:13:36 +00:00
2018-09-05 17:42:26 +00:00
2018-11-28 18:25:07 +00:00
2019-07-08 13:45:15 +00:00
2019-01-11 17:11:39 +00:00
2018-04-10 00:37:59 +00:00
2019-04-09 17:18:20 +00:00
2018-11-28 18:25:07 +00:00
2019-01-11 17:11:39 +00:00
2019-04-09 17:18:20 +00:00
2018-11-28 18:25:07 +00:00
2019-04-09 17:18:20 +00:00
2019-04-09 17:18:20 +00:00
2018-06-19 14:00:39 +00:00
2019-09-17 15:47:29 +00:00
2017-11-09 11:56:32 +00:00
2019-09-17 15:47:29 +00:00
2019-09-17 15:47:29 +00:00
2018-11-28 18:25:07 +00:00
2018-11-28 18:25:07 +00:00
2019-01-25 20:29:58 +00:00
2018-06-19 14:00:39 +00:00
2019-01-11 17:11:39 +00:00
2018-11-28 18:25:07 +00:00
2018-11-28 18:25:07 +00:00
2018-11-28 18:25:07 +00:00
2019-08-28 09:30:32 +00:00
2019-01-11 17:11:39 +00:00
2019-04-09 17:18:20 +00:00
2019-09-17 15:47:29 +00:00
2019-01-25 20:29:58 +00:00
2019-09-17 15:47:29 +00:00
2019-09-17 15:47:29 +00:00
2019-09-17 15:47:29 +00:00
2019-01-25 20:29:58 +00:00