poppler/GfxState.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
New commits: commit d6a3dc3ebbc97fcdd3c45028b5741f4b99fc0279 Author: Albert Astals Cid <[email protected]> Date: Wed Jun 6 17:46:17 2018 +0200 GfxAxialShading::parse: Fix memory leak on broken files fixes oss-fuzz/8742 diff --git a/poppler/GfxState.cc b/poppler/GfxState.cc index ef5d287e..d3204795 100644 --- a/poppler/GfxState.cc +++ b/poppler/GfxState.cc @@ -4070,7 +4070,6 @@ GfxAxialShading *GfxAxialShading::parse(GfxResources *res, Dict *dict, OutputDev int nFuncsA; GBool extend0A, extend1A; Object obj1; - int i; x0A = y0A = x1A = y1A = 0; obj1 = dict->lookup("Coords"); @@ -4109,9 +4108,11 @@ GfxAxialShading *GfxAxialShading::parse(GfxResources *res, Dict *dict, OutputDev error(errSyntaxWarning, -1, "Invalid Function array in shading dictionary"); return nullptr; } - for (i = 0; i < nFuncsA; ++i) { + for (int i = 0; i < nFuncsA; ++i) { Object obj2 = obj1.arrayGet(i); if (!(funcsA[i] = Function::parse(&obj2))) { + for (int j = 0; j < i; ++j) + delete funcsA[j]; return nullptr; } } _______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
