----- Original Message ----- > From: "Christophe Fergeau" <cfergeau@xxxxxxxxxx> > To: virt-tools-list@xxxxxxxxxx > Sent: Tuesday, July 28, 2015 2:14:55 PM > Subject: [virt-viewer] ovirt: Fix OvirtApi memory handling > > The oVirt integration code in remote-viewer assumes that > the caller owns a reference on the OvirtApi instance returned > by ovirt_proxy_fetch_api{,finish}. > This is incorrect as these 2 API calls have always been documented as > being (transfer none). This was working so far because libgovirt was > leaking an OvirtApi reference. This bug is fixed upstream, so we now get > a warning on remote-viewer exit about trying to unref an invalid object. > > This commit fixes that by taking the ref we expect in OvirtForeignMenu, > and by not releasing a ref we do not own in remote-viewer.c > --- > src/ovirt-foreign-menu.c | 1 + > src/remote-viewer.c | 2 -- > 2 files changed, 1 insertion(+), 2 deletions(-) > > diff --git a/src/ovirt-foreign-menu.c b/src/ovirt-foreign-menu.c > index e4b3537..7c5a24a 100644 > --- a/src/ovirt-foreign-menu.c > +++ b/src/ovirt-foreign-menu.c > @@ -755,6 +755,7 @@ static void api_fetched_cb(GObject *source_object, > return; > } > g_return_if_fail(OVIRT_IS_API(menu->priv->api)); > + g_object_ref(menu->priv->api); > > ovirt_foreign_menu_next_async_step(menu, STATE_API); > } > diff --git a/src/remote-viewer.c b/src/remote-viewer.c > index 8f30116..c3d2880 100644 > --- a/src/remote-viewer.c > +++ b/src/remote-viewer.c > @@ -1013,8 +1013,6 @@ error: > g_object_unref(display); > if (vm != NULL) > g_object_unref(vm); > - if (api != NULL) > - g_object_unref(api); > if (proxy != NULL) > g_object_unref(proxy); > > -- > 2.4.3 > > _______________________________________________ > virt-tools-list mailing list > virt-tools-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/virt-tools-list > ACK! _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list