pdfdraw doesn't close the xref, causing memleaks. It makes finding real memleaks with valgrind harder. Index: apps/pdfdraw.c =================================================================== --- apps/pdfdraw.c (revision 1201) +++ apps/pdfdraw.c (working copy) @@ -80,6 +80,26 @@ fz_keepobj(xref->info); } +void closexref(void) +{ + if (pagetree) + { + pdf_droppagetree(pagetree); + pagetree = nil; + } + + if (xref) + { + if (xref->store) + { + pdf_dropstore(xref->store); + xref->store = nil; + } + pdf_closexref(xref); + xref = nil; + } +} + /* */ @@ -474,5 +494,6 @@ drawpages("1-"); fz_droprenderer(drawgc); + closexref(); }