diff --git a/ChangeLog b/ChangeLog index dfdaf6ff7d..f85cfe6fab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri May 16 18:53:12 CEST 2008 Jim Meyering + + plug two leaks + * src/qemu_conf.c (qemudParseXML): Free "obj" unconditionally. + Fri May 16 12:50:08 EST 2008 Daniel P. Berrange Make QEMU test cases independant of QEMU capabilities on diff --git a/src/qemu_conf.c b/src/qemu_conf.c index dfe28696b4..d6afe59291 100644 --- a/src/qemu_conf.c +++ b/src/qemu_conf.c @@ -1716,11 +1716,11 @@ static struct qemud_vm_def *qemudParseXML(virConnectPtr conn, (obj->stringval != NULL) && (obj->stringval[0] != 0)) { strncpy(def->os.bootloader, (const char*)obj->stringval, sizeof(def->os.bootloader)); NUL_TERMINATE(def->os.bootloader); - xmlXPathFreeObject(obj); /* Set a default OS type, since is optional with bootloader */ strcpy(def->os.type, "xen"); } + xmlXPathFreeObject(obj); /* Extract OS type info */ obj = xmlXPathEval(BAD_CAST "string(/domain/os/type[1])", ctxt); @@ -1733,9 +1733,9 @@ static struct qemud_vm_def *qemudParseXML(virConnectPtr conn, } } else { strcpy(def->os.type, (const char *)obj->stringval); - xmlXPathFreeObject(obj); - obj = NULL; } + xmlXPathFreeObject(obj); + obj = NULL; if (!virCapabilitiesSupportsGuestOSType(driver->caps, def->os.type)) { qemudReportError(conn, NULL, NULL, VIR_ERR_OS_TYPE,