[poppler] poppler/OptionalContent.cc
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Sep 18 17:34:18 UTC 2018
poppler/OptionalContent.cc | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
New commits:
commit 560b34a6e2d3fd58edfb5f0af751f1aa7d3dc3d8
Author: Adam Reichold <adam.reichold at t-online.de>
Date: Tue Sep 18 11:35:55 2018 +0200
Prevent leaking OptionalContentGroup by using unique_ptr as early as possible. oss-fuzz/10418
diff --git a/poppler/OptionalContent.cc b/poppler/OptionalContent.cc
index 116b6ba9..717dc33d 100644
--- a/poppler/OptionalContent.cc
+++ b/poppler/OptionalContent.cc
@@ -54,16 +54,15 @@ OCGs::OCGs(Object *ocgObject, XRef *xref) :
if (!ocg.isDict()) {
break;
}
- OptionalContentGroup *thisOptionalContentGroup = new OptionalContentGroup(ocg.getDict());
+ auto thisOptionalContentGroup = std::make_unique<OptionalContentGroup>(ocg.getDict());
ocg = ocgList.arrayGetNF(i);
if (!ocg.isRef()) {
- delete thisOptionalContentGroup;
break;
}
thisOptionalContentGroup->setRef( ocg.getRef() );
// the default is ON - we change state later, depending on BaseState, ON and OFF
thisOptionalContentGroup->setState(OptionalContentGroup::On);
- optionalContentGroups.emplace(ocg.getRef(), thisOptionalContentGroup);
+ optionalContentGroups.emplace(ocg.getRef(), std::move(thisOptionalContentGroup));
}
Object defaultOcgConfig = ocgObject->dictLookup("D");
More information about the poppler
mailing list