From 95d485fb6a0e26b89822eb47d58840b4c1671f48 Mon Sep 17 00:00:00 2001 From: Matthias Kramm Date: Fri, 23 Jan 2009 14:34:44 -0800 Subject: [PATCH] fixed mem leaks --- lib/devices/swf.c | 4 ++++ lib/pdf/GFXOutputDev.cc | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) 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; -- 1.7.10.4