static int set_config_rootfs_path(const char *key, const char *value,
struct lxc_conf *lxc_conf, void *data)
{
+ __do_free char *dup = NULL;
int ret;
- char *dup, *tmp;
+ char *tmp;
const char *container_path;
if (lxc_config_value_empty(value)) {
dup = strdup(value);
if (!dup)
- return -1;
+ return ret_errno(ENOMEM);
/* Split <storage type>:<container path> into <storage type> and
* <container path>. Set "rootfs.bdev_type" to <storage type> and
*tmp = '\0';
ret = set_config_path_item(&lxc_conf->rootfs.bdev_type, dup);
- if (ret < 0) {
- free(dup);
- return -1;
- }
+ if (ret < 0)
+ return ret_errno(ENOMEM);
tmp++;
container_path = tmp;
container_path = value;
}
- ret = set_config_path_item(&lxc_conf->rootfs.path, container_path);
- free(dup);
-
- return ret;
+ return set_config_path_item(&lxc_conf->rootfs.path, container_path);
}
static int set_config_rootfs_managed(const char *key, const char *value,