From 792ef0938d2a3a504e7b98ee8118a3de09c78f28 Mon Sep 17 00:00:00 2001 From: Gui Hecheng Date: Tue, 24 Jun 2014 11:16:45 +0800 Subject: [PATCH] btrfs-progs: delete invalid output file when btrfs-image failed When btrfs-image failed to create an image, the invalid output file had better be deleted to prevent being used mistakenly in the future. Signed-off-by: Gui Hecheng Signed-off-by: David Sterba --- btrfs-image.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/btrfs-image.c b/btrfs-image.c index 8ad488d..c03a98d 100644 --- a/btrfs-image.c +++ b/btrfs-image.c @@ -2607,10 +2607,20 @@ int main(int argc, char *argv[]) } out: - if (out == stdout) + if (out == stdout) { fflush(out); - else + } else { fclose(out); + if (ret && create) { + int unlink_ret; + + unlink_ret = unlink(target); + if (unlink_ret) + fprintf(stderr, + "unlink output file failed : %s\n", + strerror(errno)); + } + } return !!ret; } -- 2.7.4