30 lines
914 B
Diff
30 lines
914 B
Diff
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 files changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
Index: libvirt-0.7.5/src/node_device/node_device_driver.c
|
|
===================================================================
|
|
--- libvirt-0.7.5.orig/src/node_device/node_device_driver.c
|
|
+++ libvirt-0.7.5/src/node_device/node_device_driver.c
|
|
@@ -78,7 +78,7 @@ static int update_driver_name(virConnect
|
|
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(virConnect
|
|
|
|
cleanup:
|
|
VIR_FREE(driver_link);
|
|
- free(devpath);
|
|
+ VIR_FREE(devpath);
|
|
return ret;
|
|
}
|
|
#else
|