diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index fd3d805077..2ac18511e9 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -2239,6 +2239,7 @@ virNWFilterPoolObjLoad(virConnectPtr conn, return NULL; } + VIR_FREE(pool->configFile); // for driver reload pool->configFile = strdup(path); if (pool->configFile == NULL) { virReportOOMError(); diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index bf86c9342f..18a6472512 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -1403,12 +1403,14 @@ virStoragePoolObjLoad(virStoragePoolObjListPtr pools, return NULL; } + VIR_FREE(pool->configFile); // for driver reload pool->configFile = strdup(path); if (pool->configFile == NULL) { virReportOOMError(); virStoragePoolDefFree(def); return NULL; } + VIR_FREE(pool->autostartLink); // for driver reload pool->autostartLink = strdup(autostartLink); if (pool->autostartLink == NULL) { virReportOOMError(); diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index ab7c8cc77e..19379016d0 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -1092,6 +1092,12 @@ x86MapFree(struct x86_map *map) x86ModelFree(model); } + while (map->vendors != NULL) { + struct x86_vendor *vendor = map->vendors; + map->vendors = vendor->next; + x86VendorFree(vendor); + } + VIR_FREE(map); } diff --git a/src/util/util.c b/src/util/util.c index c173e491d0..9679dc908f 100644 --- a/src/util/util.c +++ b/src/util/util.c @@ -941,9 +941,11 @@ virPipeReadUntilEOF(int outfd, int errfd, fds[0].fd = outfd; fds[0].events = POLLIN; + fds[0].revents = 0; finished[0] = 0; fds[1].fd = errfd; fds[1].events = POLLIN; + fds[1].revents = 0; finished[1] = 0; while(!(finished[0] && finished[1])) {