]> git.proxmox.com Git - mirror_lxc.git/commitdiff
overlay: fix out-of-bounds copy
authorJonathan Calmels <jcalmels@nvidia.com>
Mon, 11 Dec 2017 22:49:57 +0000 (14:49 -0800)
committerJonathan Calmels <jcalmels@nvidia.com>
Mon, 11 Dec 2017 22:49:57 +0000 (14:49 -0800)
Signed-off-by: Jonathan Calmels <jcalmels@nvidia.com>
src/lxc/storage/overlay.c

index ac763619297eae505d7ac437e7f9540cbfc02071..f8632dcf161c501bb92897b50ac8a78050a865e2 100644 (file)
@@ -410,15 +410,12 @@ int ovl_create(struct lxc_storage *bdev, const char *dest, const char *n,
                return -1;
        }
 
-       delta = malloc(len + 1);
+       delta = strdup(dest);
        if (!delta) {
                ERROR("Failed to allocate memory");
                return -1;
        }
-
-       memcpy(delta, dest, len);
        memcpy(delta + len - 6, "delta0", sizeof("delta0") - 1);
-       delta[len + sizeof("delta0")] = '\0';
 
        ret = mkdir_p(delta, 0755);
        if (ret < 0) {