Code

Merge branch 'rs/maint-diff-fd-leak' into maint
authorJunio C Hamano <gitster@pobox.com>
Sun, 26 Dec 2010 19:18:39 +0000 (11:18 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sun, 26 Dec 2010 19:18:39 +0000 (11:18 -0800)
* rs/maint-diff-fd-leak:
  close file on error in read_mmfile()

xdiff-interface.c

index e1e054e4d982de30d8a9c8c4109c6d62448f62a9..164581f87f49935f0d1b1885420960a4d11dea56 100644 (file)
@@ -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;