[Xiph-Announce] libSpiff 0.7.3 SIGABRT patch, please apply

Sebastian Pipping <[email protected]> Sun, 16 Sep 2007 20:24:44 +0200
Newsgroups gmane.comp.audio.compression.flac.announce
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------080109020406040208060603
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

libSpiff 0.7.3 contains a bug leading to double frees.
This was first reported by Eren T=FCrkay. With the help
of him, Robert Buchholz and Ed Schouten I was able to
locate that beast, fix it and make a patch
for it. I'm here to share that patch with you before
the next "major" release is out. Please fix your
libSpiff 0.7.3 copy/package with it, patch is attached.



Sebastian



--------------080109020406040208060603
Content-Type: text/x-patch;
 name="libspiff-0.7.3-sigabrt.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="libspiff-0.7.3-sigabrt.patch"

Index: src/SpiffData.cpp
===================================================================
--- src/SpiffData.cpp	(revision 343)
+++ src/SpiffData.cpp	(revision 344)
@@ -558,7 +558,7 @@
 
 
 
-/*static*/ XML_Char * SpiffData::stealHelper(const XML_Char * property,
+/*static*/ XML_Char * SpiffData::stealHelper(const XML_Char * & property,
 		bool own) {
 	const XML_Char * const res = Toolbox::getSetNull<XML_Char>(property);
 	if (own) {

Index: include/spiff/SpiffProps.h
===================================================================
--- include/spiff/SpiffProps.h	(revision 346)
+++ include/spiff/SpiffProps.h	(revision 347)
@@ -347,7 +347,7 @@
 	 * @param own		Owner flag
 	 * @return			Stolen SpiffDateTime value, can be NULL
 	 */
-	static SpiffDateTime * stealHelper(const SpiffDateTime * dateTime,
+	static SpiffDateTime * stealHelper(const SpiffDateTime * & dateTime,
 			bool own);
 
 	/**
Index: src/SpiffProps.cpp
===================================================================
--- src/SpiffProps.cpp	(revision 346)
+++ src/SpiffProps.cpp	(revision 347)
@@ -435,7 +435,7 @@
 
 
 /*static*/ SpiffDateTime * SpiffProps::stealHelper(
-		const SpiffDateTime * dateTime, bool own) {
+		const SpiffDateTime * & dateTime, bool own) {
 	const SpiffDateTime * const res
 			= Toolbox::getSetNull<SpiffDateTime>(dateTime);
 	if (own) {

Index: include/spiff/SpiffData.h
===================================================================
--- include/spiff/SpiffData.h	(revision 344)
+++ include/spiff/SpiffData.h	(revision 345)
@@ -446,7 +446,7 @@
 	 * @param own		Owner flag
 	 * @return			Stolen property value, can be NULL
 	 */
-	static XML_Char * stealHelper(const XML_Char * property, bool own);
+	static XML_Char * stealHelper(const XML_Char * & property, bool own);
 
 private:
 	/**



--------------080109020406040208060603
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Announce mailing list
[email protected]
http://lists.xiph.org/mailman/listinfo/announce

--------------080109020406040208060603--