summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2015-11-09 08:03:15 +0000
committerngie <ngie@FreeBSD.org>2015-11-09 08:03:15 +0000
commitf79bd9b3f6cedee7f34a06616fc54a763fc8bebb (patch)
tree2a550730d369ccba44c5f3724e56b65c7de0149c /usr.sbin
parentbc7ac4fb8b33cd5246288789bfc68e6bdc1eb9a2 (diff)
downloadFreeBSD-src-f79bd9b3f6cedee7f34a06616fc54a763fc8bebb.zip
FreeBSD-src-f79bd9b3f6cedee7f34a06616fc54a763fc8bebb.tar.gz
MFC r289687,r289693:
r289687: Free buffer before returning from cd9660_write_path_table to avoid leaking it after returning from the function PR: 203647 Submitted by: Thomas Schmitt <scdbackup@gmx.net> Coverity CID: 978431 Sponsored by: EMC / Isilon Storage Division r289693: Unbreak makefs -t cd9660 after r289687 buffer_head needs to be freed -- not buffer Detected by jemalloc, i.e. running makefs failed the arena assert because my copy of malloc on CURRENT is compiled with the default !MALLOC_PRODUCTION asserts on Pointyhat to: ngie PR: 203647 Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/makefs/cd9660/cd9660_write.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/usr.sbin/makefs/cd9660/cd9660_write.c b/usr.sbin/makefs/cd9660/cd9660_write.c
index f27a76f..e17752a 100644
--- a/usr.sbin/makefs/cd9660/cd9660_write.c
+++ b/usr.sbin/makefs/cd9660/cd9660_write.c
@@ -165,7 +165,7 @@ cd9660_write_path_table(FILE *fd, off_t sector, int mode)
diskStructure.pathTableLength);
unsigned char *buffer;
unsigned char *buffer_head;
- int len;
+ int len, ret;
path_table_entry temp_entry;
cd9660node *ptcur;
@@ -213,8 +213,10 @@ cd9660_write_path_table(FILE *fd, off_t sector, int mode)
ptcur = ptcur->ptnext;
}
- return cd9660_write_filedata(fd, sector, buffer_head,
+ ret = cd9660_write_filedata(fd, sector, buffer_head,
path_table_sectors);
+ free(buffer_head);
+ return ret;
}
OpenPOWER on IntegriCloud