From: Matthias Kramm Date: Fri, 23 Jan 2009 22:34:44 +0000 (-0800) Subject: fixed mem leaks X-Git-Tag: release-0-9-0~213 X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=commitdiff_plain;h=95d485fb6a0e26b89822eb47d58840b4c1671f48 fixed mem leaks --- diff --git a/lib/devices/swf.c b/lib/devices/swf.c index 2969e75..20cb71b 100644 --- a/lib/devices/swf.c +++ b/lib/devices/swf.c @@ -1622,6 +1622,8 @@ void swfoutput_linktourl(gfxdevice_t*dev, const char*url, gfxline_t*points) actions = action_End(actions); drawlink(dev, actions, 0, points, 0, url); + + swf_ActionFree(actions); } void swfoutput_linktopage(gfxdevice_t*dev, int page, gfxline_t*points) { @@ -1648,6 +1650,8 @@ void swfoutput_linktopage(gfxdevice_t*dev, int page, gfxline_t*points) sprintf(name, "page%d", page); drawlink(dev, actions, 0, points, 0, name); + + swf_ActionFree(actions); } /* Named Links (a.k.a. Acrobatmenu) are used to implement various gadgets diff --git a/lib/pdf/GFXOutputDev.cc b/lib/pdf/GFXOutputDev.cc index 93eda13..5f397f1 100644 --- a/lib/pdf/GFXOutputDev.cc +++ b/lib/pdf/GFXOutputDev.cc @@ -1627,7 +1627,8 @@ void GFXOutputDev::processLink(Link *link, Catalog *catalog) LinkDest *dest=NULL; if (ha->getDest()==NULL) dest=catalog->findDest(ha->getNamedDest()); - else dest=ha->getDest(); + else + dest=ha->getDest()->copy(); if (dest){ if (dest->isPageRef()){ Ref pageref=dest->getPageRef(); @@ -1636,6 +1637,7 @@ void GFXOutputDev::processLink(Link *link, Catalog *catalog) else page=dest->getPageNum(); sprintf(buf, "%d", page); s = strdup(buf); + delete dest; } } break;