This is an automated email from the ASF dual-hosted git repository.

joemcdonnell pushed a commit to branch branch-4.1.1
in repository https://gitbox.apache.org/repos/asf/impala.git


The following commit(s) were added to refs/heads/branch-4.1.1 by this push:
     new 22745b562 IMPALA-11489: Fix int overflow in >2GB ORC files
22745b562 is described below

commit 22745b5627f98bb34e38159f6d7bf02142d4f924
Author: Csaba Ringhofer <[email protected]>
AuthorDate: Tue Aug 9 18:33:51 2022 +0200

    IMPALA-11489: Fix int overflow in >2GB ORC files
    
    This can lead to returning an error "Invalid read len.", but can't lead
    to other problems like reading corrupt data or crashing.
    
    The fix is trivial, but creating automatic tests for it seems hard,
    so no regression test is added.
    
    Change-Id: Id8438d3512b0ebaafd319f369c1f6871d980a599
    Reviewed-on: http://gerrit.cloudera.org:8080/18827
    Reviewed-by: Impala Public Jenkins <[email protected]>
    Reviewed-by: Csaba Ringhofer <[email protected]>
    Tested-by: Csaba Ringhofer <[email protected]>
    Reviewed-on: http://gerrit.cloudera.org:8080/18886
    Tested-by: Impala Public Jenkins <[email protected]>
---
 be/src/exec/hdfs-orc-scanner.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/be/src/exec/hdfs-orc-scanner.cc b/be/src/exec/hdfs-orc-scanner.cc
index fd702550e..cb02dac52 100644
--- a/be/src/exec/hdfs-orc-scanner.cc
+++ b/be/src/exec/hdfs-orc-scanner.cc
@@ -250,7 +250,7 @@ Status HdfsOrcScanner::StartColumnReading(const 
orc::StripeInformation& stripe)
     // Determine if the column is completely contained within a local split.
     bool col_range_local = split_range->ExpectedLocalRead(range.offset_, 
range.length_);
 
-    int file_length = scan_node_->GetFileDesc(partition_id, 
filename())->file_length;
+    int64_t file_length = scan_node_->GetFileDesc(partition_id, 
filename())->file_length;
     if (range.offset_ + range.length_ > file_length) {
       string msg = Substitute("Invalid read len.");
       return Status(msg);

Reply via email to