# [PATCH] close file on error in read_mmfile()

3 messages from 2010-12-25 to 2010-12-26. Participants: René Scharfe, Junio C Hamano.
Thread: https://gitlist.dev/t/26136

## René Scharfe, 2010-12-25 12:38

Subject: [PATCH] close file on error in read_mmfile()
Message-ID: <4D15E5D6.2040800@lsrfire.ath.cx>
URL: https://gitlist.dev/e/4D15E5D6.2040800%40lsrfire.ath.cx

```
Reported in http://qa.debian.org/daca/cppcheck/sid/git_1.7.2.3-2.2.html.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
---
 xdiff-interface.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/xdiff-interface.c b/xdiff-interface.c
index cd2285d..cd9fa33 100644
--- a/xdiff-interface.c
+++ b/xdiff-interface.c
@@ -212,8 +212,10 @@ int read_mmfile(mmfile_t *ptr, const char *filename)
 		return error("Could not open %s", filename);
 	sz = xsize_t(st.st_size);
 	ptr->ptr = xmalloc(sz ? sz : 1);
-	if (sz && fread(ptr->ptr, sz, 1, f) != 1)
+	if (sz && fread(ptr->ptr, sz, 1, f) != 1) {
+		fclose(f);
 		return error("Could not read %s", filename);
+	}
 	fclose(f);
 	ptr->size = sz;
 	return 0;
-- 
1.7.3.4

```

## René Scharfe, 2010-12-25 12:44

Subject: Re: [PATCH] close file on error in read_mmfile()
Message-ID: <4D15E748.8020102@lsrfire.ath.cx>
URL: https://gitlist.dev/e/4D15E748.8020102%40lsrfire.ath.cx
In-Reply-To: <4D15E5D6.2040800@lsrfire.ath.cx>

```
Am 25.12.2010 13:38, schrieb René Scharfe:
> Reported in http://qa.debian.org/daca/cppcheck/sid/git_1.7.2.3-2.2.html.

Oh, and also in http://thread.gmane.org/gmane.comp.version-control.git/123042.

René

```

## Junio C Hamano, 2010-12-26 19:18

Subject: Re: [PATCH] close file on error in read_mmfile()
Message-ID: <7v8vzcz6kb.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7v8vzcz6kb.fsf%40alter.siamese.dyndns.org
In-Reply-To: <4D15E5D6.2040800@lsrfire.ath.cx>

```
Thanks.

```
