diff mbox

btrfs-progs: skip erroneous free before initialization

Message ID 1394686891-23271-2-git-send-email-guihc.fnst@cn.fujitsu.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Gui Hecheng March 13, 2014, 5:01 a.m. UTC
If the list is not initialized, don't try to free it.
Otherwise it will cause segmentfault.

Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
---
 mkfs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/mkfs.c b/mkfs.c
index d7049c9..df22c3a 100644
--- a/mkfs.c
+++ b/mkfs.c
@@ -965,7 +965,7 @@  static int make_image(char *source_dir, struct btrfs_root *root, int out_fd)
 	ret = lstat(source_dir, &root_st);
 	if (ret) {
 		fprintf(stderr, "unable to lstat the %s\n", source_dir);
-		goto fail;
+		goto out;
 	}
 
 	INIT_LIST_HEAD(&dir_head.list);
@@ -987,6 +987,7 @@  fail:
 		list_del(&dir_entry->list);
 		free(dir_entry);
 	}
+out:
 	fprintf(stderr, "Making image is aborted.\n");
 	return -1;
 }