summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2010-06-01 02:16:21 +0200
committerTor Andersson <tor@ghostscript.com>2010-06-01 02:16:21 +0200
commite5a39d1b65049b809d57f0e8d401cee1ee556dce (patch)
tree7e8cc91a205197f6bef3a3c21e39decb4ae4a063
parent9f4bbee2143213907c78edc05ea70809d60326d9 (diff)
downloadmupdf-e5a39d1b65049b809d57f0e8d401cee1ee556dce.tar.xz
Plug memory leak.
-rw-r--r--mupdf/pdf_open.c3
-rw-r--r--mupdf/pdf_xref.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/mupdf/pdf_open.c b/mupdf/pdf_open.c
index 4a960747..05282f3f 100644
--- a/mupdf/pdf_open.c
+++ b/mupdf/pdf_open.c
@@ -64,6 +64,7 @@ pdf_readstartxref(pdf_xref *xref)
while (iswhite(buf[i]) && i < n)
i ++;
xref->startxref = atoi((char*)(buf + i));
+ pdf_logxref("startxref %d\n", xref->startxref);
return fz_okay;
}
}
@@ -626,7 +627,7 @@ pdf_openxref(fz_stream *file)
xref = fz_malloc(sizeof(pdf_xref));
memset(xref, 0, sizeof(pdf_xref));
- pdf_logxref("loadxref %p\n", xref);
+ pdf_logxref("openxref %p\n", xref);
xref->file = fz_keepstream(file);
diff --git a/mupdf/pdf_xref.c b/mupdf/pdf_xref.c
index 64676db1..b1908702 100644
--- a/mupdf/pdf_xref.c
+++ b/mupdf/pdf_xref.c
@@ -160,6 +160,10 @@ pdf_loadobjstm(pdf_xref *xref, int num, int gen, char *buf, int cap)
fz_dropobj(xref->table[numbuf[i]].obj);
xref->table[numbuf[i]].obj = obj;
}
+ else
+ {
+ fz_dropobj(obj);
+ }
}
fz_dropstream(stm);