]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
coverity: ovl_clonepaths: free osrc and ndelta on error paths
authorSerge Hallyn <serge.hallyn@ubuntu.com>
Mon, 4 Jan 2016 22:37:17 +0000 (14:37 -0800)
committerSerge Hallyn <serge.hallyn@ubuntu.com>
Mon, 4 Jan 2016 22:37:33 +0000 (14:37 -0800)
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
src/lxc/bdev/lxcoverlay.c

index fa4ea5c0f2c291d5fffa945bc13b6b35965404cc..d06d24f511b4d2fed4a8fa3b84cfd72beb15226f 100644 (file)
@@ -177,18 +177,26 @@ int ovl_clonepaths(struct bdev *orig, struct bdev *new, const char *oldname,
                 * up)
                 */
                lastslash = strrchr(ndelta, '/');
-               if (!lastslash)
+               if (!lastslash) {
+                       free(osrc);
+                       free(ndelta);
                        return -1;
+               }
                lastslash++;
                lastslashidx = lastslash - ndelta;
 
                work = malloc(lastslashidx + 7);
-               if (!work)
+               if (!work) {
+                       free(osrc);
+                       free(ndelta);
                        return -1;
+               }
                strncpy(work, ndelta, lastslashidx + 1);
                strcpy(work + lastslashidx, "olwork");
                if ((mkdir(work, 0755) < 0) && errno != EEXIST) {
                        SYSERROR("error: mkdir %s", work);
+                       free(osrc);
+                       free(ndelta);
                        free(work);
                        return -1;
                }