Repository: orc Updated Branches: refs/heads/master 8fee84ad2 -> d42067588
ORC-273: [C++] add range check to prevent bad memory access Fixes #214 Signed-off-by: Deepak Majeti <mdee...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/orc/repo Commit: http://git-wip-us.apache.org/repos/asf/orc/commit/d4206758 Tree: http://git-wip-us.apache.org/repos/asf/orc/tree/d4206758 Diff: http://git-wip-us.apache.org/repos/asf/orc/diff/d4206758 Branch: refs/heads/master Commit: d42067588523c04ad48d3bf1854aed316a16de1e Parents: 8fee84a Author: rip-nsk <rip....@gmail.com> Authored: Wed Jan 24 17:12:22 2018 -0800 Committer: Deepak Majeti <mdee...@apache.org> Committed: Sun Feb 11 19:38:07 2018 -0500 ---------------------------------------------------------------------- c++/src/TypeImpl.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/orc/blob/d4206758/c++/src/TypeImpl.cc ---------------------------------------------------------------------- diff --git a/c++/src/TypeImpl.cc b/c++/src/TypeImpl.cc index 59df0ca..f9e4cd6 100644 --- a/c++/src/TypeImpl.cc +++ b/c++/src/TypeImpl.cc @@ -677,7 +677,7 @@ namespace orc { Type* type = parseCategory(category, types, endPos + 1, nextPos); res.push_back(std::make_pair(fieldName, type)); - if (types[nextPos] == ')' || types[nextPos] == '>') { + if (nextPos < types.size() && (types[nextPos] == ')' || types[nextPos] == '>')) { pos = nextPos + 2; } else { pos = nextPos;