From: Laine Stump Date: Tue, 10 Feb 2015 19:04:40 +0000 (-0500) Subject: domain: avoid potential memory leak in virDomainGraphicsListenSet*() X-Git-Tag: v1.2.13-rc1~85 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6d1194ffc08499922d6518bbf910941eedb26ea6;p=thirdparty%2Flibvirt.git domain: avoid potential memory leak in virDomainGraphicsListenSet*() virDomainGraphicsListenSetAddress() and virDomainGraphicsListenSetNetwork() both set their respective char* to NULL directly when asked to set it to NULL, which is okay as long as it's already set to NULL. If these functions are ever called to clear a listen object that has a valid string in address or network, it will end up leaking the old value. Currently that doesn't happen, so this is just a preemptive strike. --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 1e43903914..32668d4337 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -21449,7 +21449,7 @@ virDomainGraphicsListenSetAddress(virDomainGraphicsDefPtr def, listenInfo->type = VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS; if (!address) { - listenInfo->address = NULL; + VIR_FREE(listenInfo->address); return 0; } @@ -21487,7 +21487,7 @@ virDomainGraphicsListenSetNetwork(virDomainGraphicsDefPtr def, listenInfo->type = VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_NETWORK; if (!network) { - listenInfo->network = NULL; + VIR_FREE(listenInfo->network); return 0; }