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

