diff options
author | Albert Astals Cid <aacid@kde.org> | 2016-08-26 14:53:19 +0200 |
---|---|---|
committer | Albert Astals Cid <aacid@kde.org> | 2016-09-04 15:32:21 +0200 |
commit | c46b8b99b3a2d51692d889df22136cb737d3a47f (patch) | |
tree | 1627006661d01b6735a6c1c291b95b446f3ecd8c | |
parent | 92175cb29450241fafc6d74170f97aee5b7a6d7a (diff) |
Fix memory leak when parsing broken Forms
-rw-r--r-- | poppler/Form.cc | 4 |
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); |