Skip to content

cache: Fix leaks in xfconf_cache_handle_property_changed

correctmost requested to merge correctmost/xfconf:cm/fix-cache-leaks into master

Leak report

Direct leak of 384 byte(s) in 6 object(s) allocated from:
    #0 0x5e1e9bc6d599 in malloc (/usr/asan/bin/xfce4-keyboard-settings+0x178599)
    #1 0x74e997513e4a in g_malloc /usr/src/debug/glib2/build/../glib/glib/gmem.c:100:13
    #2 0x74e997559fff in g_variant_get_child_value /usr/src/debug/glib2/build/../glib/glib/gvariant-core.c:1204:13
    #3 0x74e99755ce1e in g_variant_valist_get_nnp /usr/src/debug/glib2/build/../glib/glib/gvariant.c:5024:14
    #4 0x74e99755ce1e in g_variant_valist_get_leaf /usr/src/debug/glib2/build/../glib/glib/gvariant.c:5141:16
    #5 0x74e99755ce1e in g_variant_valist_get /usr/src/debug/glib2/build/../glib/glib/gvariant.c:5322:5
    #6 0x74e99755ca78 in g_variant_valist_get /usr/src/debug/glib2/build/../glib/glib/gvariant.c:5357:15
    #7 0x74e99755d005 in g_variant_get_va /usr/src/debug/glib2/build/../glib/glib/gvariant.c:5585:3
    #8 0x74e99755d2ab in g_variant_get /usr/src/debug/glib2/build/../glib/glib/gvariant.c:5532:3
    #9 0x74e998c018cc in xfconf_cache_handle_property_changed xfconf/xfconf/xfconf-cache.c:502:9
    #10 0x74e998c018cc in xfconf_cache_proxy_signal_received_cb xfconf/xfconf/xfconf-cache.c:586:9
    #11 0x74e99792e699 in g_closure_invoke /usr/src/debug/glib2/build/../glib/gobject/gclosure.c:834:7
[...snip...]

Steps to reproduce

  • In xfce4-keyboard-settings, rapidly click on "Restore num lock state on startup" repeatedly

Testing

  • No issues were detected with LSan, ASan, or Valgrind when testing the patch

Merge request reports