From 120bcf9214b7624886d07c2832060222551d2da1 Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Wed, 21 Nov 2007 01:42:58 +0000 Subject: [PATCH 1/1] fix memleak in dvb subtitle code --- lib/dvb/subtitle.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/dvb/subtitle.cpp b/lib/dvb/subtitle.cpp index 7ae49db5..f4b5b7e4 100644 --- a/lib/dvb/subtitle.cpp +++ b/lib/dvb/subtitle.cpp @@ -360,6 +360,13 @@ int eDVBSubtitleParser::subtitle_process_segment(__u8 *segment) { subtitle_region *p = page->regions->next; //eDebug("delete region %d", page->regions->region_id); + while(page->regions->region_objects) + { + //eDebug("delete region object"); + subtitle_region_object *ob = page->regions->region_objects->next; + delete page->regions->region_objects; + page->regions->region_objects = ob; + } delete page->regions; page->regions = p; } @@ -451,6 +458,7 @@ int eDVBSubtitleParser::subtitle_process_segment(__u8 *segment) else if (region->region_version_number != region_version_number) { subtitle_region_object *objects = region->region_objects; + //eDebug("unequal version %p %p", objects, objects?objects->next:objects); while (objects) { subtitle_region_object *n = objects->next; -- 2.30.2