Package: libmusicbrainz4-dev Version: 2.1.2 When doing normal query operations with the musicbrainz C interface, it leaks memory like a sieve because mb_Delete() doesn't actually free the RDF parser object. Patch is attached.
-- Ian Gulliver Penguin Hosting "Failure is not an option; it comes bundled with your Microsoft products."
diff -Naur libmusicbrainz-2.1.2/lib/rdfextract.cpp libmusicbrainz-2.1.2.mod/lib/rdfextract.cpp --- libmusicbrainz-2.1.2/lib/rdfextract.cpp 2004-10-12 10:10:46.000000000 +0200 +++ libmusicbrainz-2.1.2.mod/lib/rdfextract.cpp 2006-08-16 03:59:15.000000000 +0200 @@ -52,8 +52,6 @@ RDFExtract::RDFExtract(const string &rdfDocument, bool useUTF8) { - RDF_Parser parser; - hasError = false; this->useUTF8 = useUTF8; @@ -77,7 +75,7 @@ RDFExtract::~RDFExtract(void) { - + RDF_ParserFree (parser); } void RDFExtract::StatementHandler(RDF_SubjectType subject_type, diff -Naur libmusicbrainz-2.1.2/lib/rdfextract.h libmusicbrainz-2.1.2.mod/lib/rdfextract.h --- libmusicbrainz-2.1.2/lib/rdfextract.h 2004-10-12 09:28:44.000000000 +0200 +++ libmusicbrainz-2.1.2.mod/lib/rdfextract.h 2006-08-16 03:59:04.000000000 +0200 @@ -70,6 +70,7 @@ private: + RDF_Parser parser; vector<RDFStatement> triples; string error, empty, retValue, count; bool useUTF8, hasError;
signature.asc
Description: Digital signature