From: Pavel Hrdina Date: Wed, 23 Sep 2020 13:40:37 +0000 (+0200) Subject: util/virgdbus: fix memory leak in virGDBusIsServiceInList X-Git-Tag: v6.8.0-rc1~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=784f204e7ef13be3249ab1f816ee90a1f8a77ae0;p=thirdparty%2Flibvirt.git util/virgdbus: fix memory leak in virGDBusIsServiceInList g_variant_iter_loop() handles freeing all arguments unless we break out of the loop, in that case we have to free them manually. Reported-by: Peter Krempa Signed-off-by: Pavel Hrdina Reviewed-by: Peter Krempa --- diff --git a/src/util/virgdbus.c b/src/util/virgdbus.c index cd9ca8d5d6..4360a6acff 100644 --- a/src/util/virgdbus.c +++ b/src/util/virgdbus.c @@ -359,8 +359,10 @@ virGDBusIsServiceInList(const char *listMethod, g_variant_get(reply, "(as)", &iter); while (g_variant_iter_loop(iter, "s", &str)) { - if (STREQ(str, name)) + if (STREQ(str, name)) { + g_free(str); return 0; + } } return -2;