Gang Wu created ORC-2161:
----------------------------

             Summary: [C++] UnionColumnReader should reject out-of-range union 
tags
                 Key: ORC-2161
                 URL: https://issues.apache.org/jira/browse/ORC-2161
             Project: ORC
          Issue Type: Bug
            Reporter: Gang Wu
            Assignee: Gang Wu


The C++ UnionColumnReader trusts union tag bytes decoded from the ORC DATA 
stream and uses them directly as indexes into per-child count arrays. For 
malformed ORC files, a union tag value greater than or equal to the number of 
union children causes out-of-bounds access instead of reporting invalid input.

This affects:
 * UnionColumnReader::skip()
 * UnionColumnReader::nextInternal()
 * UnionColumnPrinter::printRow() has the same unchecked tag dispatch pattern

The reader should validate each non-null union tag against 
type.getSubtypeCount() and throw ParseError when the tag is invalid.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to