You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@orc.apache.org by md...@apache.org on 2018/02/12 00:39:21 UTC

orc git commit: ORC-273: [C++] add range check to prevent bad memory access

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 <md...@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 <ri...@gmail.com>
Authored: Wed Jan 24 17:12:22 2018 -0800
Committer: Deepak Majeti <md...@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;