From 89fe28488e30657591386c63f906ffdece4b9e02 Mon Sep 17 00:00:00 2001 From: Joel Rosdahl Date: Sun, 9 May 2010 16:56:16 +0200 Subject: [PATCH] Check error from gzread when copying file --- util.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/util.c b/util.c index 030deee98..f62aec004 100644 --- a/util.c +++ b/util.c @@ -190,6 +190,19 @@ int copy_file(const char *src, const char *dest, int compress_dest) return -1; } } + if (n == 0 && !gzeof(gz_in)) { + int errnum; + cc_log("gzread error: %s (errno: %s)", + gzerror(gz_in, &errnum), strerror(errno)); + gzclose(gz_in); + if (gz_out) { + gzclose(gz_out); + } + close(fd_out); + unlink(tmp_name); + free(tmp_name); + return -1; + } gzclose(gz_in); if (gz_out) { -- 2.47.3