[vlc-commits] [Git][videolan/vlc][master] 3 commits: udisks: fix heap corruption

Steve Lhomme (@robUx4) gitlab at videolan.org
Tue Jun 17 11:25:07 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
75aa9be1 by Fatih Uzunoglu at 2025-06-17T10:53:29+00:00
udisks: fix heap corruption

- - - - -
859a3b01 by Fatih Uzunoglu at 2025-06-17T10:53:29+00:00
udisks: unref the bus on error

Assuming `Close()` is not called if `Open()` returns
an error.

- - - - -
c1ad9add by Fatih Uzunoglu at 2025-06-17T10:53:29+00:00
udisks: unref the bus on close

- - - - -


1 changed file:

- modules/services_discovery/udisks.c


Changes:

=====================================
modules/services_discovery/udisks.c
=====================================
@@ -431,6 +431,7 @@ static void *Run(void *p_obj)
     if(r < 0)
     {
         sd_bus_slot_unref(p_sys->interface_added_slot);
+        p_sys->interface_added_slot = NULL;
         return NULL;
     }
 
@@ -455,8 +456,7 @@ static void *Run(void *p_obj)
         }
         sd_bus_message_unref(msg);
     }
-    sd_bus_slot_unref(p_sys->interface_added_slot);
-    sd_bus_slot_unref(p_sys->interface_removed_slot);
+
     return NULL;
 }
 
@@ -523,6 +523,7 @@ error:
     {
         sd_bus_flush(p_sys->bus);
         sd_bus_close(p_sys->bus);
+        sd_bus_unref(p_sys->bus);
     }
     sd_bus_error_free(&err);
     return VLC_EGENERIC;
@@ -532,12 +533,13 @@ static void Close(vlc_object_t *p_obj)
 {
     services_discovery_t *sd = (services_discovery_t *)p_obj;
     struct discovery_sys *p_sys = sd->p_sys;
-    if(p_sys->interface_added_slot)
-        sd_bus_slot_unref(p_sys->interface_added_slot);
     sd_bus_flush(p_sys->bus);
-    sd_bus_close(p_sys->bus);
     vlc_cancel(p_sys->thread);
     vlc_join(p_sys->thread, NULL);
+    sd_bus_close(p_sys->bus);
+    sd_bus_slot_unref(p_sys->interface_removed_slot);
+    sd_bus_slot_unref(p_sys->interface_added_slot);
+    sd_bus_unref(p_sys->bus);
     vlc_dictionary_clear(&p_sys->entries, FreeEntries, sd);
 }
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/0c21aa42a39851c6015a4196e54c541b113dc06c...c1ad9addfe160f8f5289e967b39518dd2c91ef2e

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/0c21aa42a39851c6015a4196e54c541b113dc06c...c1ad9addfe160f8f5289e967b39518dd2c91ef2e
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list