mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-20 12:50:06 +01:00
2007-09-06 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-object.c - (nm_object_get_string_property, nm_object_get_object_path_property, nm_object_get_int_property, nm_object_get_uint_property, nm_object_get_boolean_property, nm_object_get_byte_property, nm_object_get_double_property, nm_object_get_byte_array_property): clear GValues after copying their contents, fixes memory leaks after every property access because dbus-glib copies the values from the DBusMessage into the GValue already. git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2767 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
parent
5dc24dd407
commit
c5d0e07d00
2 changed files with 33 additions and 7 deletions
11
ChangeLog
11
ChangeLog
|
|
@ -1,3 +1,14 @@
|
||||||
|
2007-09-06 Dan Williams <dcbw@redhat.com>
|
||||||
|
|
||||||
|
* libnm-glib/nm-object.c
|
||||||
|
- (nm_object_get_string_property, nm_object_get_object_path_property,
|
||||||
|
nm_object_get_int_property, nm_object_get_uint_property,
|
||||||
|
nm_object_get_boolean_property, nm_object_get_byte_property,
|
||||||
|
nm_object_get_double_property, nm_object_get_byte_array_property):
|
||||||
|
clear GValues after copying their contents, fixes memory leaks
|
||||||
|
after every property access because dbus-glib copies the values
|
||||||
|
from the DBusMessage into the GValue already.
|
||||||
|
|
||||||
2007-09-06 Dan Williams <dcbw@redhat.com>
|
2007-09-06 Dan Williams <dcbw@redhat.com>
|
||||||
|
|
||||||
* introspection/nm-access-point.xml
|
* introspection/nm-access-point.xml
|
||||||
|
|
|
||||||
|
|
@ -226,8 +226,10 @@ nm_object_get_string_property (NMObject *object,
|
||||||
char *str = NULL;
|
char *str = NULL;
|
||||||
GValue value = {0,};
|
GValue value = {0,};
|
||||||
|
|
||||||
if (nm_object_get_property (object, interface, prop_name, &value))
|
if (nm_object_get_property (object, interface, prop_name, &value)) {
|
||||||
str = g_strdup (g_value_get_string (&value));
|
str = g_strdup (g_value_get_string (&value));
|
||||||
|
g_value_unset (&value);
|
||||||
|
}
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
@ -240,8 +242,10 @@ nm_object_get_object_path_property (NMObject *object,
|
||||||
char *path = NULL;
|
char *path = NULL;
|
||||||
GValue value = {0,};
|
GValue value = {0,};
|
||||||
|
|
||||||
if (nm_object_get_property (object, interface, prop_name, &value))
|
if (nm_object_get_property (object, interface, prop_name, &value)) {
|
||||||
path = g_strdup (g_value_get_boxed (&value));
|
path = g_strdup (g_value_get_boxed (&value));
|
||||||
|
g_value_unset (&value);
|
||||||
|
}
|
||||||
|
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
|
@ -254,8 +258,10 @@ nm_object_get_int_property (NMObject *object,
|
||||||
gint32 i = 0;
|
gint32 i = 0;
|
||||||
GValue value = {0,};
|
GValue value = {0,};
|
||||||
|
|
||||||
if (nm_object_get_property (object, interface, prop_name, &value))
|
if (nm_object_get_property (object, interface, prop_name, &value)) {
|
||||||
i = g_value_get_int (&value);
|
i = g_value_get_int (&value);
|
||||||
|
g_value_unset (&value);
|
||||||
|
}
|
||||||
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
@ -268,8 +274,10 @@ nm_object_get_uint_property (NMObject *object,
|
||||||
guint32 i = 0;
|
guint32 i = 0;
|
||||||
GValue value = {0,};
|
GValue value = {0,};
|
||||||
|
|
||||||
if (nm_object_get_property (object, interface, prop_name, &value))
|
if (nm_object_get_property (object, interface, prop_name, &value)) {
|
||||||
i = g_value_get_uint (&value);
|
i = g_value_get_uint (&value);
|
||||||
|
g_value_unset (&value);
|
||||||
|
}
|
||||||
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
@ -282,8 +290,10 @@ nm_object_get_boolean_property (NMObject *object,
|
||||||
gboolean b = FALSE; // FIXME: somehow convey failure if needed
|
gboolean b = FALSE; // FIXME: somehow convey failure if needed
|
||||||
GValue value = {0,};
|
GValue value = {0,};
|
||||||
|
|
||||||
if (nm_object_get_property (object, interface, prop_name, &value))
|
if (nm_object_get_property (object, interface, prop_name, &value)) {
|
||||||
b = g_value_get_boolean (&value);
|
b = g_value_get_boolean (&value);
|
||||||
|
g_value_unset (&value);
|
||||||
|
}
|
||||||
|
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
@ -296,8 +306,10 @@ nm_object_get_byte_property (NMObject *object,
|
||||||
gint8 b = G_MAXINT8;
|
gint8 b = G_MAXINT8;
|
||||||
GValue value = {0,};
|
GValue value = {0,};
|
||||||
|
|
||||||
if (nm_object_get_property (object, interface, prop_name, &value))
|
if (nm_object_get_property (object, interface, prop_name, &value)) {
|
||||||
b = g_value_get_uchar (&value);
|
b = g_value_get_uchar (&value);
|
||||||
|
g_value_unset (&value);
|
||||||
|
}
|
||||||
|
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
@ -310,8 +322,10 @@ nm_object_get_double_property (NMObject *object,
|
||||||
gdouble d = G_MAXDOUBLE;
|
gdouble d = G_MAXDOUBLE;
|
||||||
GValue value = {0,};
|
GValue value = {0,};
|
||||||
|
|
||||||
if (nm_object_get_property (object, interface, prop_name, &value))
|
if (nm_object_get_property (object, interface, prop_name, &value)) {
|
||||||
d = g_value_get_double (&value);
|
d = g_value_get_double (&value);
|
||||||
|
g_value_unset (&value);
|
||||||
|
}
|
||||||
|
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
@ -334,6 +348,7 @@ nm_object_get_byte_array_property (NMObject *object,
|
||||||
byte = g_array_index (tmp, unsigned char, i);
|
byte = g_array_index (tmp, unsigned char, i);
|
||||||
g_byte_array_append (array, &byte, 1);
|
g_byte_array_append (array, &byte, 1);
|
||||||
}
|
}
|
||||||
|
g_value_unset (&value);
|
||||||
}
|
}
|
||||||
|
|
||||||
return array;
|
return array;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue