From fd5a77ac21bd80053add402cefe6e2b3fb1ae37a Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Sat, 26 Feb 2011 23:19:50 +1100 Subject: [PATCH] Check on the fd_out on decompression, NOT on fd_in. --- main.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/main.c b/main.c index cf7e676..1c46520 100644 --- a/main.c +++ b/main.c @@ -321,18 +321,6 @@ static void decompress_file(void) } } - /* Check if there's enough free space on the device chosen to fit the - * decompressed file. */ - if (unlikely(fstatvfs(fd_in, &fbuf))) - fatal("Failed to fstatvfs in decompress_file\n"); - free_space = fbuf.f_bsize * fbuf.f_bavail; - if (free_space < expected_size) { - if (FORCE_REPLACE) - print_err("Warning, inadequate free space detected, but attempting to decompress due to -f option being used.\n"); - else - failure("Inadequate free space to decompress file, use -f to override.\n"); - } - if (!(TEST_ONLY | STDOUT)) { if (FORCE_REPLACE) fd_out = open(control.outfile, O_WRONLY | O_CREAT | O_TRUNC, 0666); @@ -350,6 +338,18 @@ static void decompress_file(void) fd_out = open_tmpoutfile(); control.fd_out = fd_out; + /* Check if there's enough free space on the device chosen to fit the + * decompressed file. */ + if (unlikely(fstatvfs(fd_out, &fbuf))) + fatal("Failed to fstatvfs in decompress_file\n"); + free_space = fbuf.f_bsize * fbuf.f_bavail; + if (free_space < expected_size) { + if (FORCE_REPLACE) + print_err("Warning, inadequate free space detected, but attempting to decompress due to -f option being used.\n"); + else + failure("Inadequate free space to decompress file, use -f to override.\n"); + } + fd_hist = open(control.outfile, O_RDONLY); if (unlikely(fd_hist == -1)) fatal("Failed to open history file %s\n", control.outfile);