if (!parent->controllers[i].mountPoint)
continue;
- group->controllers[i].mountPoint =
- strdup(parent->controllers[i].mountPoint);
-
- if (!group->controllers[i].mountPoint)
+ if (VIR_STRDUP_QUIET(group->controllers[i].mountPoint,
+ parent->controllers[i].mountPoint) < 0)
return -ENOMEM;
- if (parent->controllers[i].linkPoint) {
- group->controllers[i].linkPoint =
- strdup(parent->controllers[i].linkPoint);
-
- if (!group->controllers[i].linkPoint)
- return -ENOMEM;
- }
+ if (VIR_STRDUP_QUIET(group->controllers[i].linkPoint,
+ parent->controllers[i].linkPoint) < 0)
+ return -ENOMEM;
}
return 0;
}
struct stat sb;
char *tmp2;
- if (!(group->controllers[i].mountPoint = strdup(entry.mnt_dir)))
- goto no_memory;
+ if (VIR_STRDUP_QUIET(group->controllers[i].mountPoint,
+ entry.mnt_dir) < 0)
+ goto error;
tmp2 = strrchr(entry.mnt_dir, '/');
if (!tmp2) {
if (strchr(tmp2 + 1, ',')) {
if (virAsprintf(&linksrc, "%s/%s",
entry.mnt_dir, typestr) < 0)
- goto no_memory;
+ goto error;
*tmp2 = '/';
if (lstat(linksrc, &sb) < 0) {
return 0;
-no_memory:
- errno = ENOMEM;
error:
VIR_FORCE_FCLOSE(mounts);
return -errno;
continue;
if (path[0] == '/') {
- if (!(group->controllers[i].placement = strdup(path)))
+ if (VIR_STRDUP_QUIET(group->controllers[i].placement, path) < 0)
return -ENOMEM;
} else {
/*
}
if (path[0] == '/' || !parent) {
- if (!((*group)->path = strdup(path))) {
+ if (VIR_STRDUP_QUIET((*group)->path, path) < 0) {
rc = -ENOMEM;
goto err;
}
int rc = 0;
char *endp;
- if (!(str = strdup(pidstr)))
+ if (VIR_STRDUP_QUIET(str, pidstr) < 0)
return -ENOMEM;
cur = str;
if (STRNEQ(newpath, "/")) {
char *tmp;
- if (!(parentPath = strdup(newpath))) {
+ if (VIR_STRDUP_QUIET(parentPath, newpath) < 0) {
rc = -ENOMEM;
goto cleanup;
}
return NULL;
}
- tmp[0] = '\0';
- ret = strdup(group->controllers[i].mountPoint);
- tmp[0] = '/';
- if (!ret) {
- virReportOOMError();
- return NULL;
- }
+ ignore_value(VIR_STRNDUP_QUIET(ret, group->controllers[i].mountPoint,
+ tmp - group->controllers[i].mountPoint));
return ret;
}