summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2015-03-04 13:19:19 +0100
committerChristophe Fergeau <cfergeau@redhat.com>2015-03-04 14:51:32 +0100
commit47354c127786c8b14a25e57c1dc38838bbd112f5 (patch)
treea83d15eea2ee25211097b6cff95e66294ebf4fa9
parent54b691591e37e35485edb5723e3b320a2d2d45a5 (diff)
Fix gvir_designer_domain_get_fallback_disk_controller leak
When the list of devices is empty (osinfo_list_get_length(devices) == 0), the 'devices' object would be leaked.
-rw-r--r--libvirt-designer/libvirt-designer-domain.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libvirt-designer/libvirt-designer-domain.c b/libvirt-designer/libvirt-designer-domain.c
index c1a0e83..6629fb5 100644
--- a/libvirt-designer/libvirt-designer-domain.c
+++ b/libvirt-designer/libvirt-designer-domain.c
@@ -1517,7 +1517,7 @@ gvir_designer_domain_get_fallback_disk_controller(GVirDesignerDomain *design,
GError **error)
{
OsinfoEntity *dev = NULL;
- OsinfoDeviceList *devices;
+ OsinfoDeviceList *devices = NULL;
OsinfoFilter *filter;
int virt_type;
@@ -1552,9 +1552,11 @@ gvir_designer_domain_get_fallback_disk_controller(GVirDesignerDomain *design,
dev = osinfo_list_get_nth(OSINFO_LIST(devices), 0);
g_object_ref(G_OBJECT(dev));
- g_object_unref(G_OBJECT(devices));
cleanup:
+ if (devices != NULL)
+ g_object_unref(G_OBJECT(devices));
+
return OSINFO_DEVICE(dev);
}