storage: prevent unitialized variable warning

We can simply fix this issue by switching to our cleanup macros instead of manually freeing the memory. Closes #2912. Signed-off-by: 's avatarChristian Brauner <christian.brauner@ubuntu.com>
parent 9810d191
......@@ -41,6 +41,7 @@
#include "btrfs.h"
#include "config.h"
#include "log.h"
#include "memory_utils.h"
#include "rsync.h"
#include "storage.h"
#include "utils.h"
......@@ -763,7 +764,6 @@ static int btrfs_recursive_destroy(const char *path)
int ret, e, i;
unsigned long off = 0;
u16 name_len;
char *tmppath;
u64 dir_id;
fd = open(path, O_RDONLY);
......@@ -834,7 +834,8 @@ static int btrfs_recursive_destroy(const char *path)
* name of the child subvol in question.
*/
if (sh.objectid != root_id && sh.type == BTRFS_ROOT_BACKREF_KEY) {
char *name, *tmp;
__do_free char *name = NULL, *tmppath = NULL;
char *tmp;
ref = (struct btrfs_root_ref *)(args.buf + off);
name_len = btrfs_stack_root_ref_name_len(ref);
......@@ -844,7 +845,6 @@ static int btrfs_recursive_destroy(const char *path)
if (!name) {
ERROR("Out of memory");
free_btrfs_tree(tree);
free(tmppath);
close(fd);
}
......@@ -859,14 +859,9 @@ static int btrfs_recursive_destroy(const char *path)
name_len, tmppath)) {
ERROR("Out of memory");
free_btrfs_tree(tree);
free(name);
free(tmppath);
close(fd);
return -1;
}
free(tmppath);
free(name);
}
off += sh.len;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment