Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Nov 2015 08:05:15 +0000 (UTC)
From:      Garrett Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r290588 - stable/9/usr.sbin/makefs/cd9660
Message-ID:  <201511090805.tA985FnO093318@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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;
 }
 
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511090805.tA985FnO093318>