svn commit: r290588 - stable/9/usr.sbin/makefs/cd9660

Garrett Cooper ngie at FreeBSD.org
Mon Nov 9 08:05:16 UTC 2015


Author: ngie
Date: Mon Nov  9 08:05:15 2015
New Revision: 290588
URL: https://svnweb.freebsd.org/changeset/base/290588

Log:
  MFstable/10 r290587:
  
  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 at 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

Modified:
  stable/9/usr.sbin/makefs/cd9660/cd9660_write.c
Directory Properties:
  stable/9/   (props changed)
  stable/9/usr.sbin/   (props changed)
  stable/9/usr.sbin/makefs/   (props changed)

Modified: stable/9/usr.sbin/makefs/cd9660/cd9660_write.c
==============================================================================
--- stable/9/usr.sbin/makefs/cd9660/cd9660_write.c	Mon Nov  9 08:03:15 2015	(r290587)
+++ stable/9/usr.sbin/makefs/cd9660/cd9660_write.c	Mon Nov  9 08:05:15 2015	(r290588)
@@ -165,7 +165,7 @@ cd9660_write_path_table(FILE *fd, off_t 
 	    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 
 		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;
 }
 
 


More information about the svn-src-all mailing list