diff options
author | Christophe Fergeau <cfergeau@redhat.com> | 2015-03-04 13:19:19 +0100 |
---|---|---|
committer | Christophe Fergeau <cfergeau@redhat.com> | 2015-03-04 14:51:32 +0100 |
commit | 47354c127786c8b14a25e57c1dc38838bbd112f5 (patch) | |
tree | a83d15eea2ee25211097b6cff95e66294ebf4fa9 | |
parent | 54b691591e37e35485edb5723e3b320a2d2d45a5 (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.c | 6 |
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); } |