From 338e7c3c8d5b861f3ad376863519f3496736987e Mon Sep 17 00:00:00 2001 From: Matthias Bolte Date: Wed, 23 Dec 2009 22:18:04 +0100 Subject: [PATCH] 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. --- src/node_device/node_device_driver.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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