From 89b40ab5bbd8f2aff8c0a595a4d25faade0016d9 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Fri, 6 Nov 2015 18:03:24 +0100 Subject: [PATCH] btrfs-progs: handle memory allocation failures in traverse_directory Signed-off-by: David Sterba --- mkfs.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mkfs.c b/mkfs.c index 7316cb1c..c09cbd31 100644 --- a/mkfs.c +++ b/mkfs.c @@ -786,6 +786,8 @@ static int traverse_directory(struct btrfs_trans_handle *trans, /* Add list for source directory */ dir_entry = malloc(sizeof(struct directory_name_entry)); + if (!dir_entry) + return -ENOMEM; dir_entry->dir_name = dir_name; dir_entry->path = realpath(dir_name, real_path); if (!dir_entry->path) { @@ -887,6 +889,10 @@ static int traverse_directory(struct btrfs_trans_handle *trans, if (S_ISDIR(st.st_mode)) { dir_entry = malloc(sizeof(struct directory_name_entry)); + if (!dir_entry) { + ret = -ENOMEM; + goto fail; + } dir_entry->dir_name = cur_file->d_name; dir_entry->path = make_path(parent_dir_entry->path, cur_file->d_name);