From 9ec6460c06b5eec307dbb1599690ff4bbb757758 Mon Sep 17 00:00:00 2001 From: Qi Chen Date: Mon, 21 Oct 2024 12:30:40 +0800 Subject: [PATCH] [Fix](orc-reader) Fix StringRef nullptr data by add checking string_values empty. (#42061) ## Proposed changes Added solution to #40857, fix StringRef nullptr data by add checking string_values empty in orc reader. --- be/src/vec/exec/format/orc/vorc_reader.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/be/src/vec/exec/format/orc/vorc_reader.cpp b/be/src/vec/exec/format/orc/vorc_reader.cpp index d564ea0effc6de..cda24f4990f3a7 100644 --- a/be/src/vec/exec/format/orc/vorc_reader.cpp +++ b/be/src/vec/exec/format/orc/vorc_reader.cpp @@ -1175,7 +1175,9 @@ Status OrcReader::_decode_string_non_dict_encoded_column(const std::string& col_ } } } - data_column->insert_many_strings(&string_values[0], num_values); + if (!string_values.empty()) { + data_column->insert_many_strings(&string_values[0], num_values); + } return Status::OK(); } @@ -1279,8 +1281,10 @@ Status OrcReader::_decode_string_dict_encoded_column(const std::string& col_name } } } - data_column->insert_many_strings_overflow(&string_values[0], string_values.size(), - max_value_length); + if (!string_values.empty()) { + data_column->insert_many_strings_overflow(&string_values[0], string_values.size(), + max_value_length); + } return Status::OK(); } @@ -2394,7 +2398,9 @@ MutableColumnPtr OrcReader::_convert_dict_column_to_string_column( } } } - res->insert_many_strings_overflow(&string_values[0], num_values, max_value_length); + if (!string_values.empty()) { + res->insert_many_strings_overflow(&string_values[0], num_values, max_value_length); + } return res; }