Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Nov 2015 08:03: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-10@freebsd.org
Subject:   svn commit: r290587 - stable/10/usr.sbin/makefs/cd9660
Message-ID:  <201511090803.tA983FTI093166@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Mon Nov  9 08:03:15 2015
New Revision: 290587
URL: https://svnweb.freebsd.org/changeset/base/290587

Log:
  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/10/usr.sbin/makefs/cd9660/cd9660_write.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/usr.sbin/makefs/cd9660/cd9660_write.c
==============================================================================
--- stable/10/usr.sbin/makefs/cd9660/cd9660_write.c	Mon Nov  9 07:56:06 2015	(r290586)
+++ stable/10/usr.sbin/makefs/cd9660/cd9660_write.c	Mon Nov  9 08:03:15 2015	(r290587)
@@ -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?201511090803.tA983FTI093166>