From: Matthias Bolte Date: Wed, 23 Dec 2009 21:18:04 +0000 (+0100) Subject: Don't free an uninitalized pointer in update_driver_name() X-Git-Tag: v0.7.6~230 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=338e7c3c8d5b861f3ad376863519f3496736987e;p=thirdparty%2Flibvirt.git Don't free an uninitalized pointer in update_driver_name() This invalid free results in heap corruption. Some symptoms I saw because of this were libvirtd crashing and virt-manager hanging while trying to enumerate devices. --- diff --git a/src/node_device/node_device_driver.c b/src/node_device/node_device_driver.c index ecbac0f625..fbadfcab26 100644 --- a/src/node_device/node_device_driver.c +++ b/src/node_device/node_device_driver.c @@ -78,7 +78,7 @@ static int update_driver_name(virConnectPtr conn, virNodeDeviceObjPtr dev) { char *driver_link = NULL; - char *devpath; + char *devpath = NULL; char *p; int ret = -1; @@ -114,7 +114,7 @@ static int update_driver_name(virConnectPtr conn, cleanup: VIR_FREE(driver_link); - free(devpath); + VIR_FREE(devpath); return ret; } #else