diff options
author | Albert Astals Cid <aacid@kde.org> | 2010-10-23 22:40:17 +0100 |
---|---|---|
committer | Albert Astals Cid <aacid@kde.org> | 2010-10-23 22:41:43 +0100 |
commit | 2cfcee1e06edea751828ac34e1dbec93536bed31 (patch) | |
tree | 3305888ea874caf89c5fd87f3f6eeb3099c8db49 | |
parent | f4874d01f24c7085eccc020774a674c8ed075e0c (diff) |
Check obj2 is a num before reading it
-rw-r--r-- | poppler/Gfx.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/poppler/Gfx.cc b/poppler/Gfx.cc index 4eb8c54d..408dab5f 100644 --- a/poppler/Gfx.cc +++ b/poppler/Gfx.cc @@ -1252,7 +1252,13 @@ void Gfx::doSoftMask(Object *str, GBool alpha, } for (i = 0; i < 4; ++i) { obj1.arrayGet(i, &obj2); - bbox[i] = obj2.getNum(); + if (likely(obj2.isNum())) bbox[i] = obj2.getNum(); + else { + obj2.free(); + obj1.free(); + error(getPos(), "Bad form bounding box (non number)"); + return; + } obj2.free(); } obj1.free(); |