core: Stop leaking ondisk_cache_entrys
Noticed with valgrind. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder committed
Aug 9, 2010 at 22:28 UTC
59efba64ac144a8838a35ae687b8c5bb6cd43363
1 file changed
+4
-1
read-cache.c
+4
-1
@@ -1516,6 +1516,7 @@ static int ce_write_entry(git_SHA_CTX *c, int fd, struct cache_entry *ce)
1516
int size = ondisk_ce_size(ce);
1517
struct ondisk_cache_entry *ondisk = xcalloc(1, size);
1518
char *name;
1519
+ int result;
1520
1521
ondisk->ctime.sec = htonl(ce->ce_ctime.sec);
1522
ondisk->mtime.sec = htonl(ce->ce_mtime.sec);
@@ -1539,7 +1540,9 @@ static int ce_write_entry(git_SHA_CTX *c, int fd, struct cache_entry *ce)
1540
name = ondisk->name;
1541
memcpy(name, ce->name, ce_namelen(ce));
1542
1542
- return ce_write(c, fd, ondisk, size);
1543
+ result = ce_write(c, fd, ondisk, size);
1544
+ free(ondisk);
1545
+ return result;
1546
}
1547
1548
int write_index(struct index_state *istate, int newfd)