btrfs-progs: receive: use static buffer for write_path
authorDavid Sterba <dsterba@suse.cz>
Tue, 16 Jun 2015 13:28:44 +0000 (15:28 +0200)
committerDavid Sterba <dsterba@suse.cz>
Tue, 16 Jun 2015 15:15:02 +0000 (17:15 +0200)
Signed-off-by: David Sterba <dsterba@suse.cz>
cmds-receive.c

index eaccc8c..a5c7f8d 100644 (file)
@@ -56,7 +56,7 @@ struct btrfs_receive
        int dest_dir_fd;
 
        int write_fd;
-       char *write_path;
+       char write_path[PATH_MAX];
 
        char *root_path;
        char *dest_dir_path; /* relative to root_path */
@@ -636,8 +636,7 @@ static int open_inode_for_write(struct btrfs_receive *r, const char *path)
                                strerror(-ret));
                goto out;
        }
-       free(r->write_path);
-       r->write_path = strdup(path);
+       strncpy_null(r->write_path, path);
 
 out:
        return ret;
@@ -1176,8 +1175,6 @@ out:
        }
        free(r->root_path);
        r->root_path = NULL;
-       free(r->write_path);
-       r->write_path = NULL;
        free(r->full_subvol_path);
        r->full_subvol_path = NULL;
        r->dest_dir_path = NULL;