[glib/glib-2-66: 1/2] gmain: Fix possible locking issue in source unref




commit 6077ec3efa83163d83754b8014826d5da6c6cd70
Author: Benjamin Berg <bberg redhat com>
Date:   Tue Oct 13 15:09:43 2020 +0200

    gmain: Fix possible locking issue in source unref
    
    When unref'ing child sources, the lock is already held. But instead of
    passing TRUE to g_source_unref_internal it currently passes whether the
    lock was already held outside of the current invocation. Just pass TRUE
    to fix this possible issue.

 glib/gmain.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/glib/gmain.c b/glib/gmain.c
index cae6e4828..9871d6bfd 100644
--- a/glib/gmain.c
+++ b/glib/gmain.c
@@ -2293,7 +2293,7 @@ g_source_unref_internal (GSource      *source,
             g_slist_remove (source->priv->child_sources, child_source);
           child_source->priv->parent_source = NULL;
 
-          g_source_unref_internal (child_source, context, have_lock);
+          g_source_unref_internal (child_source, context, TRUE);
         }
 
       g_slice_free (GSourcePrivate, source->priv);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]