diff options
author | Christophe Fergeau <cfergeau@redhat.com> | 2014-01-25 23:43:57 +0100 |
---|---|---|
committer | Christophe Fergeau <cfergeau@redhat.com> | 2015-03-03 12:07:29 +0100 |
commit | 7e5278773f73380d837fd6e339557c128e16157f (patch) | |
tree | d9c1283a6d265cad4cd9046e06475c586fa93567 | |
parent | e46bbd716031df04674b681d24fe88d78bf7da48 (diff) |
Fix GVirConfigDomainDiskDriver leak
A GVirConfigDomainDiskDriver is created in
gvir_designer_domain_add_disk_full but it's never unref'ed. This commit
fixes that, including when an error occurs.
-rw-r--r-- | libvirt-designer/libvirt-designer-domain.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libvirt-designer/libvirt-designer-domain.c b/libvirt-designer/libvirt-designer-domain.c index a060a81..c1a0e83 100644 --- a/libvirt-designer/libvirt-designer-domain.c +++ b/libvirt-designer/libvirt-designer-domain.c @@ -1626,6 +1626,8 @@ gvir_designer_domain_add_disk_full(GVirDesignerDomain *design, gvir_config_domain_disk_set_type(disk, type); gvir_config_domain_disk_set_source(disk, path); gvir_config_domain_disk_set_driver(disk, driver); + g_object_unref(driver); + driver = NULL; controller = gvir_designer_domain_get_preferred_disk_controller(design, NULL); if (controller == NULL) @@ -1656,6 +1658,8 @@ gvir_designer_domain_add_disk_full(GVirDesignerDomain *design, error: g_free(target_gen); + if (driver != NULL) + g_object_unref(driver); if (disk) g_object_unref(disk); return NULL; |