diff options
author | Eric Sandeen <sandeen@redhat.com> | 2013-02-25 16:54:35 -0600 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2013-02-27 14:39:15 +0100 |
commit | 220e1ccd87de6983f58a7ea23a8ca62ae8df0df2 (patch) | |
tree | dbb5ec14d1bd45821541c36698ced4834d635623 | |
parent | efbbbc88cbee3f28c6b4a4c34623e13dc1e2e700 (diff) |
btrfs-progs: fix btrfs_get_subvol cut/paste error
in btrfs_get_subvol(), there is a cut and paste error:
if (ri->full_path)
the_ri->full_path = strdup(ri->full_path);
else
the_ri->name = NULL;
It should be setting the_ri->full_path to NULL here.
Do it in a function instead of the cpoy & paste to avoid future
errors.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
-rw-r--r-- | btrfs-list.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/btrfs-list.c b/btrfs-list.c index d02d6205..ab9179f9 100644 --- a/btrfs-list.c +++ b/btrfs-list.c @@ -1515,6 +1515,13 @@ int btrfs_list_subvols_print(int fd, struct btrfs_list_filter_set *filter_set, return 0; } +char *strdup_or_null(const char *s) +{ + if (!s) + return NULL; + return strdup(s); +} + int btrfs_get_subvol(int fd, struct root_info *the_ri) { int ret = 1, rr; @@ -1537,18 +1544,9 @@ int btrfs_get_subvol(int fd, struct root_info *the_ri) } if (!comp_entry_with_rootid(the_ri, ri, 0)) { memcpy(the_ri, ri, offsetof(struct root_info, path)); - if (ri->path) - the_ri->path = strdup(ri->path); - else - the_ri->path = NULL; - if (ri->name) - the_ri->name = strdup(ri->name); - else - the_ri->name = NULL; - if (ri->full_path) - the_ri->full_path = strdup(ri->full_path); - else - the_ri->name = NULL; + the_ri->path = strdup_or_null(ri->path); + the_ri->name = strdup_or_null(ri->name); + the_ri->full_path = strdup_or_null(ri->full_path); ret = 0; break; } |