mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-31 05:30:17 +01:00
core: fix memory leak in nm_properties_changed_signal_add_property()
valgrind complains (rightly):
==7702== 15 bytes in 2 blocks are definitely lost in loss record 411 of 6,278
==7702== at 0x4A0645D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==7702== by 0x8151E6E: g_malloc (gmem.c:104)
==7702== by 0x816972E: g_strdup (gstrfuncs.c:364)
==7702== by 0x1D6671: nm_properties_changed_signal_add_property (nm-properties-changed-signal.c:235)
==7702== by 0x1AF2D5: nm_dbus_manager_register_exported_type (nm-dbus-manager.c:867)
==7702== by 0x7EE0D3D: g_type_class_ref (gtype.c:2220)
==7702== by 0x7EC9A78: g_object_new_valist (gobject.c:1928)
==7702== by 0x7EC9C10: g_object_new (gobject.c:1559)
==7702== by 0x14A5FC: new_link (nm-device-bridge.c:482)
==7702== by 0x1CF8FD: platform_link_cb (nm-manager.c:2154)
==7702== by 0x988FD8B: ffi_call_unix64 (unix64.S:76)
==7702== by 0x988F6BB: ffi_call (ffi64.c:522)
This commit is contained in:
parent
3debf80d82
commit
8396c58167
1 changed files with 4 additions and 0 deletions
|
|
@ -228,15 +228,19 @@ nm_properties_changed_signal_add_property (GType type,
|
|||
if (!classinfo)
|
||||
classinfo = nm_properties_changed_signal_setup_type (type);
|
||||
|
||||
g_assert (!g_hash_table_contains (classinfo->exported_props, (char *) gobject_property_name));
|
||||
g_hash_table_insert (classinfo->exported_props,
|
||||
(char *) gobject_property_name,
|
||||
(char *) dbus_property_name);
|
||||
|
||||
if (!strchr (gobject_property_name, '_'))
|
||||
return;
|
||||
hyphen_name = g_strdup (gobject_property_name);
|
||||
for (p = hyphen_name; *p; p++) {
|
||||
if (*p == '_')
|
||||
*p = '-';
|
||||
}
|
||||
g_assert (!g_hash_table_contains (classinfo->exported_props, hyphen_name));
|
||||
g_hash_table_insert (classinfo->exported_props,
|
||||
hyphen_name,
|
||||
(char *) dbus_property_name);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue