diff --git a/ChangeLog b/ChangeLog index 8a0d63cbdb..8372481936 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu Feb 22 10:37:08 IST 2007 Mark McLoughlin + + * qemud/conf.c: fix another xml property leak. + Tue Feb 20 19:08:58 IST 2007 Mark McLoughlin * qemud/conf.c: use strerror(errno) in some error messages diff --git a/include/libvirt/libvirt.h b/include/libvirt/libvirt.h index ce24f59fc0..ee28d7f09a 100644 --- a/include/libvirt/libvirt.h +++ b/include/libvirt/libvirt.h @@ -328,11 +328,6 @@ int virConnectListDefinedDomains (virConnectPtr conn, int maxnames); int virDomainCreate (virDomainPtr domain); -int virDomainGetAutostart (virDomainPtr domain, - int *autostart); -int virDomainSetAutostart (virDomainPtr domain, - int autostart); - /** * virVcpuInfo: structure for information about a virtual CPU in a domain. */ @@ -533,11 +528,6 @@ char * virNetworkGetXMLDesc (virNetworkPtr network, int flags); char * virNetworkGetBridgeName (virNetworkPtr network); -int virNetworkGetAutostart (virNetworkPtr network, - int *autostart); -int virNetworkSetAutostart (virNetworkPtr network, - int autostart); - #ifdef __cplusplus } #endif diff --git a/qemud/conf.c b/qemud/conf.c index 001d178b1f..fe43520963 100644 --- a/qemud/conf.c +++ b/qemud/conf.c @@ -751,7 +751,8 @@ static struct qemud_vm_def *qemudParseXML(struct qemud_server *server, if ((obj != NULL) && (obj->type == XPATH_NODESET) && (obj->nodesetval != NULL) && (obj->nodesetval->nodeNr >= 0)) { for (i = 0; i < obj->nodesetval->nodeNr && i < QEMUD_MAX_BOOT_DEVS ; i++) { - prop = xmlGetProp(obj->nodesetval->nodeTab[i], BAD_CAST "dev"); + if (!(prop = xmlGetProp(obj->nodesetval->nodeTab[i], BAD_CAST "dev"))) + continue; if (!strcmp((char *)prop, "hd")) { def->os.bootDevs[def->os.nBootDevs++] = QEMUD_BOOT_DISK; } else if (!strcmp((char *)prop, "fd")) { @@ -761,8 +762,10 @@ static struct qemud_vm_def *qemudParseXML(struct qemud_server *server, } else if (!strcmp((char *)prop, "net")) { def->os.bootDevs[def->os.nBootDevs++] = QEMUD_BOOT_NET; } else { + xmlFree(prop); goto error; } + xmlFree(prop); } } xmlXPathFreeObject(obj);