Michael Smith has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/24891


Change subject: IMPALA-15378: Fix OOB read in 
OrcSchemaResolver::ResolveColumnByName
......................................................................

IMPALA-15378: Fix OOB read in OrcSchemaResolver::ResolveColumnByName

TranslateColPaths() can legitimately return an empty
table_col_path/file_col_path pair: when the table is full ACID but
the underlying file is not, and col_path refers only to the
synthetic ACID "row" pseudo-column, neither schema has a
corresponding node, so nothing is pushed to either output path.
ResolveColumnByName() did not account for this and unconditionally
indexed table_path[0], reading out of bounds on the empty vector
(caught by libstdc++'s _GLIBCXX_ASSERTIONS, aborting impalad).
ResolveColumnByPosition() already handles this correctly since its
loop naturally no-ops on an empty path.

Add the same empty-path guard to ResolveColumnByName(), leaving
*node as root_ and *missing_field as false, matching
ResolveColumnByPosition()'s behavior.

Change-Id: Ia269c7cebc88f6bf1d7269316beab438ecd803ba
Assisted-by: Claude Sonnet 5 (GitHub Copilot)
---
M be/src/exec/orc/orc-metadata-utils.cc
1 file changed, 4 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/91/24891/1
--
To view, visit http://gerrit.cloudera.org:8080/24891
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia269c7cebc88f6bf1d7269316beab438ecd803ba
Gerrit-Change-Number: 24891
Gerrit-PatchSet: 1
Gerrit-Owner: Michael Smith <[email protected]>

Reply via email to