--- src/lxc/lxc_cgroup.c | 3 +-- src/lxc/lxc_conf.c | 36 +++++++++++++++++------------------- src/lxc/lxc_container.c | 18 ++++-------------- src/lxc/lxc_controller.c | 20 ++++++++------------ src/lxc/lxc_driver.c | 9 ++------- src/lxc/lxc_process.c | 7 ++++--- 6 files changed, 36 insertions(+), 57 deletions(-) diff --git a/src/lxc/lxc_cgroup.c b/src/lxc/lxc_cgroup.c index bc3b0d1..de6b53b 100644 --- a/src/lxc/lxc_cgroup.c +++ b/src/lxc/lxc_cgroup.c @@ -538,8 +538,7 @@ virCgroupPtr virLXCCgroupCreate(virDomainDefPtr def, bool startup) goto cleanup; } - if (!(res->partition = strdup("/machine"))) { - virReportOOMError(); + if (VIR_STRDUP(res->partition, "/machine") < 0) { VIR_FREE(res); goto cleanup; } diff --git a/src/lxc/lxc_conf.c b/src/lxc/lxc_conf.c index 13c0d97..81a4a33 100644 --- a/src/lxc/lxc_conf.c +++ b/src/lxc/lxc_conf.c @@ -37,7 +37,7 @@ #include "configmake.h" #include "lxc_container.h" #include "virnodesuspend.h" - +#include "virstring.h" #define VIR_FROM_THIS VIR_FROM_LXC @@ -119,10 +119,10 @@ virCapsPtr lxcCapsInit(virLXCDriverPtr driver) if (VIR_ALLOC(caps->host.secModels) < 0) goto no_memory; caps->host.nsecModels = 1; - if (!(caps->host.secModels[0].model = strdup(model))) - goto no_memory; - if (!(caps->host.secModels[0].doi = strdup(doi))) - goto no_memory; + if (VIR_STRDUP(caps->host.secModels[0].model, model) < 0) + goto error; + if (VIR_STRDUP(caps->host.secModels[0].doi, doi) < 0) + goto error; } VIR_DEBUG("Initialized caps for security driver \"%s\" with " @@ -161,18 +161,18 @@ int lxcLoadDriverConfig(virLXCDriverPtr driver) driver->securityRequireConfined = false; /* Set the container configuration directory */ - if ((driver->configDir = strdup(LXC_CONFIG_DIR)) == NULL) - goto no_memory; - if ((driver->stateDir = strdup(LXC_STATE_DIR)) == NULL) - goto no_memory; - if ((driver->logDir = strdup(LXC_LOG_DIR)) == NULL) - goto no_memory; - if ((driver->autostartDir = strdup(LXC_AUTOSTART_DIR)) == NULL) - goto no_memory; + if (VIR_STRDUP(driver->configDir, LXC_CONFIG_DIR) < 0) + goto error; + if (VIR_STRDUP(driver->stateDir, LXC_STATE_DIR) < 0) + goto error; + if (VIR_STRDUP(driver->logDir, LXC_LOG_DIR) < 0) + goto error; + if (VIR_STRDUP(driver->autostartDir, LXC_AUTOSTART_DIR) < 0) + goto error; - if ((filename = strdup(SYSCONFDIR "/libvirt/lxc.conf")) == NULL) - goto no_memory; + if (VIR_STRDUP(filename, SYSCONFDIR "/libvirt/lxc.conf") < 0) + goto error; /* Avoid error from non-existant or unreadable file. */ if (access(filename, R_OK) == -1) @@ -196,8 +196,7 @@ int lxcLoadDriverConfig(virLXCDriverPtr driver) p = virConfGetValue(conf, "security_driver"); CHECK_TYPE("security_driver", VIR_CONF_STRING); if (p && p->str) { - if (!(driver->securityDriverName = strdup(p->str))) { - virReportOOMError(); + if (VIR_STRDUP(driver->securityDriverName, p->str) < 0) { virConfFree(conf); return -1; } @@ -220,7 +219,6 @@ done: VIR_FREE(filename); return 0; -no_memory: - virReportOOMError(); +error: return -1; } diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c index ff4069a..2ad0bcf 100644 --- a/src/lxc/lxc_container.c +++ b/src/lxc/lxc_container.c @@ -439,10 +439,8 @@ static int lxcContainerGetSubtree(const char *prefix, virReportOOMError(); goto cleanup; } - if (!(mounts[nmounts] = strdup(mntent.mnt_dir))) { - virReportOOMError(); + if (VIR_STRDUP(mounts[nmounts], mntent.mnt_dir) < 0) goto cleanup; - } nmounts++; VIR_DEBUG("Grabbed %s", mntent.mnt_dir); } @@ -1041,10 +1039,8 @@ lxcContainerMountDetectFilesystem(const char *src, char **type) goto cleanup; } - if (!(*type = strdup(data))) { - virReportOOMError(); + if (VIR_STRDUP(*type, data) < 0) goto cleanup; - } done: ret = 0; @@ -1947,17 +1943,11 @@ static int lxcContainerChild(void *data) virReportOOMError(); goto cleanup; } - } else { - if (!(ttyPath = strdup(argv->ttyPaths[0]))) { - virReportOOMError(); + } else if (VIR_STRDUP(ttyPath, argv->ttyPaths[0]) < 0) { goto cleanup; - } } - } else { - if (!(ttyPath = strdup("/dev/null"))) { - virReportOOMError(); + } else if (VIR_STRDUP(ttyPath, "/dev/null") < 0) { goto cleanup; - } } VIR_DEBUG("Container TTY path: %s", ttyPath); diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c index f1800eb..8c358c3 100644 --- a/src/lxc/lxc_controller.c +++ b/src/lxc/lxc_controller.c @@ -150,14 +150,16 @@ static virLXCControllerPtr virLXCControllerNew(const char *name) virDomainXMLOptionPtr xmlopt = NULL; char *configFile = NULL; - if (VIR_ALLOC(ctrl) < 0) - goto no_memory; + if (VIR_ALLOC(ctrl) < 0) { + virReportOOMError(); + goto error; + } ctrl->timerShutdown = -1; ctrl->firstClient = true; - if (!(ctrl->name = strdup(name))) - goto no_memory; + if (VIR_STRDUP(ctrl->name, name) < 0) + goto error; if ((caps = lxcCapsInit(NULL)) == NULL) goto error; @@ -186,8 +188,6 @@ cleanup: virObjectUnref(xmlopt); return ctrl; -no_memory: - virReportOOMError(); error: virLXCControllerFree(ctrl); ctrl = NULL; @@ -1566,10 +1566,8 @@ int main(int argc, char *argv[]) break; case 'n': - if ((name = strdup(optarg)) == NULL) { - virReportOOMError(); + if (VIR_STRDUP(name, optarg) < 0) goto cleanup; - } break; case 'v': @@ -1577,10 +1575,8 @@ int main(int argc, char *argv[]) virReportOOMError(); goto cleanup; } - if ((veths[nveths++] = strdup(optarg)) == NULL) { - virReportOOMError(); + if (VIR_STRDUP(veths[nveths++], optarg) < 0) goto cleanup; - } break; case 'c': diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 84a97de..42e4989 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -626,10 +626,7 @@ static char *lxcDomainGetOSType(virDomainPtr dom) goto cleanup; } - ret = strdup(vm->def->os.type); - - if (ret == NULL) - virReportOOMError(); + ignore_value(VIR_STRDUP(ret, vm->def->os.type)); cleanup: if (vm) @@ -1629,9 +1626,7 @@ static char *lxcDomainGetSchedulerType(virDomainPtr dom, *nparams = 3; } - ret = strdup("posix"); - if (!ret) - virReportOOMError(); + ignore_value(VIR_STRDUP(ret, "posix")); cleanup: if (vm) diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c index b10e81c..b06d748 100644 --- a/src/lxc/lxc_process.c +++ b/src/lxc/lxc_process.c @@ -996,9 +996,9 @@ virLXCProcessEnsureRootFS(virDomainObjPtr vm) root->type = VIR_DOMAIN_FS_TYPE_MOUNT; - if (!(root->src = strdup("/")) || - !(root->dst = strdup("/"))) - goto no_memory; + if (VIR_STRDUP(root->src, "/") < 0 || + VIR_STRDUP(root->dst, "/") < 0) + goto error; if (VIR_INSERT_ELEMENT(vm->def->fss, 0, @@ -1010,6 +1010,7 @@ virLXCProcessEnsureRootFS(virDomainObjPtr vm) no_memory: virReportOOMError(); +error: virDomainFSDefFree(root); return -1; } -- 1.8.1.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list