From: Gui Hecheng Date: Tue, 24 Jun 2014 03:16:45 +0000 (+0800) Subject: btrfs-progs: delete invalid output file when btrfs-image failed X-Git-Tag: upstream/4.16.1~2782 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=792ef0938d2a3a504e7b98ee8118a3de09c78f28;p=platform%2Fupstream%2Fbtrfs-progs.git 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 --- 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; }