diff options
author | Tor Andersson <tor@ghostscript.com> | 2010-04-24 20:43:34 +0200 |
---|---|---|
committer | Tor Andersson <tor@ghostscript.com> | 2010-04-24 20:43:34 +0200 |
commit | eac58058a2ff46fda09fd9e28f9ad908b79d2031 (patch) | |
tree | 8043290173073616bb524edc1740ad2dbddd40c4 /apps/pdfdraw.c | |
parent | 7884b0e64811d129986e25da898debfa1e0aa2e8 (diff) | |
download | mupdf-eac58058a2ff46fda09fd9e28f9ad908b79d2031.tar.xz |
Fix memory leaks when running pdfdraw in text extraction mode.
Diffstat (limited to 'apps/pdfdraw.c')
-rw-r--r-- | apps/pdfdraw.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/apps/pdfdraw.c b/apps/pdfdraw.c index b65341d2..62fc851c 100644 --- a/apps/pdfdraw.c +++ b/apps/pdfdraw.c @@ -271,18 +271,14 @@ static void drawpnm(int pagenum, struct benchmark *loadtimes, struct benchmark * fprintf(stdout, "\n"); } -static void drawtxt(int pagenum) +static void drawtxt(int pagenum, struct benchmark *loadtimes) { fz_error error; fz_matrix ctm; - fz_obj *pageobj; fz_textspan *text; fz_device *dev; - pageobj = pdf_getpageobject(xref, pagenum); - error = pdf_loadpage(&drawpage, xref, pageobj); - if (error) - die(error); + drawloadpage(pagenum, loadtimes); ctm = fz_identity(); @@ -300,6 +296,8 @@ static void drawtxt(int pagenum) printf("\n"); fz_freetextspan(text); + + drawfreepage(); } static void drawxml(int pagenum) @@ -377,7 +375,7 @@ static void drawpages(char *pagelist) switch (drawmode) { case DRAWPNM: drawpnm(page, &loadtimes, &drawtimes); break; - case DRAWTXT: drawtxt(page); break; + case DRAWTXT: drawtxt(page, &loadtimes); break; case DRAWXML: drawxml(page); break; } } |