[mutter/cherry-pick-d67ba3ea] screen-cast/src: Remove follow up timeout source on disable
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/cherry-pick-d67ba3ea] screen-cast/src: Remove follow up timeout source on disable
- Date: Fri, 10 Jul 2020 13:26:38 +0000 (UTC)
commit 1fd53c480f9bb58bd4ac0efc2bbce17dfda8645b
Author: Jonas Ådahl <jadahl gmail com>
Date: Fri Jul 10 07:06:33 2020 +0000
screen-cast/src: Remove follow up timeout source on disable
We failed to remove the timeout source when disabling, meaning that if a
follow up was scheduled, and shortly after we disabled the source, the
timeout would be invoked after the source was freed causing
use-after-free bugs.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1337
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1365
(cherry picked from commit d67ba3ea65717ceab3e0c91267191c6ed2aac2c2)
src/backends/meta-screen-cast-stream-src.c | 2 ++
1 file changed, 2 insertions(+)
---
diff --git a/src/backends/meta-screen-cast-stream-src.c b/src/backends/meta-screen-cast-stream-src.c
index 070c67a93f..fce2b84d3e 100644
--- a/src/backends/meta-screen-cast-stream-src.c
+++ b/src/backends/meta-screen-cast-stream-src.c
@@ -624,6 +624,8 @@ meta_screen_cast_stream_src_disable (MetaScreenCastStreamSrc *src)
META_SCREEN_CAST_STREAM_SRC_GET_CLASS (src)->disable (src);
+ g_clear_handle_id (&priv->follow_up_frame_source_id, g_source_remove);
+
priv->is_enabled = FALSE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]