From: Andreas Monzner Date: Wed, 21 Nov 2007 01:42:58 +0000 (+0000) Subject: fix memleak in dvb subtitle code X-Git-Tag: 2.6.0~1709 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/120bcf9214b7624886d07c2832060222551d2da1?ds=sidebyside fix memleak in dvb subtitle code --- 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;