]> git.ipfire.org Git - thirdparty/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)
committerChristian Brauner <christian.brauner@ubuntu.com>
Fri, 15 Dec 2017 12:31:25 +0000 (13:31 +0100)
Signed-off-by: Jonathan Calmels <jcalmels@nvidia.com>
src/lxc/storage/overlay.c

index 6b93eb03b14707c89c03626bcabc6af8a3856d85..d71bc75f7aee7834831f79d4862be83f8a2832fd 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) {