[mutter/cherry-pick-d67ba3ea] screen-cast/src: Remove follow up timeout source on disable



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]