From: Sergey Vlasov Date: Fri, 23 Sep 2005 12:28:28 +0000 (+0400) Subject: [PATCH] git-local-fetch: Avoid calling close(-1) X-Git-Tag: v0.99.7c~2^2~4 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=1a951815ddaa4e4b570cc67e204f45e9a12841e0;p=git.git [PATCH] git-local-fetch: Avoid calling close(-1) After open() failure, copy_file() called close(ifd) with ifd == -1 (harmless, but causes Valgrind noise). The same thing was possible for the destination file descriptor. Signed-off-by: Sergey Vlasov Signed-off-by: Junio C Hamano --- diff --git a/local-fetch.c b/local-fetch.c index b3947a965..a3e35f9c8 100644 --- a/local-fetch.c +++ b/local-fetch.c @@ -75,7 +75,8 @@ static int copy_file(const char *source, const char *dest, const char *hex) void *map; ifd = open(source, O_RDONLY); if (ifd < 0 || fstat(ifd, &st) < 0) { - close(ifd); + if (ifd >= 0) + close(ifd); fprintf(stderr, "cannot open %s\n", source); return -1; } @@ -89,7 +90,8 @@ static int copy_file(const char *source, const char *dest, const char *hex) status = ((ofd < 0) || (write(ofd, map, st.st_size) != st.st_size)); munmap(map, st.st_size); - close(ofd); + if (ofd >= 0) + close(ofd); if (status) fprintf(stderr, "cannot write %s\n", dest); else