summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Astals Cid <aacid@kde.org>2016-08-26 14:53:19 +0200
committerAlbert Astals Cid <aacid@kde.org>2016-09-04 15:32:21 +0200
commitc46b8b99b3a2d51692d889df22136cb737d3a47f (patch)
tree1627006661d01b6735a6c1c291b95b446f3ecd8c
parent92175cb29450241fafc6d74170f97aee5b7a6d7a (diff)
Fix memory leak when parsing broken Forms
-rw-r--r--poppler/Form.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/poppler/Form.cc b/poppler/Form.cc
index d5f4dd11..8e3b2656 100644
--- a/poppler/Form.cc
+++ b/poppler/Form.cc
@@ -518,6 +518,8 @@ FormField::FormField(PDFDoc *docA, Object *aobj, const Ref& aref, FormField *par
if (terminal) {
error(errSyntaxWarning, -1, "Field can't have both Widget AND Field as kids\n");
+ childObj.free();
+ childRef.free();
continue;
}
@@ -530,6 +532,8 @@ FormField::FormField(PDFDoc *docA, Object *aobj, const Ref& aref, FormField *par
error(errSyntaxWarning, -1, "Field can't have both Widget AND Field as kids\n");
obj2.free();
obj3.free();
+ childObj.free();
+ childRef.free();
continue;
}
_createWidget(&childObj, ref);