This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new c1a1275870 [fix](memory) Fix parquet load stack overflow (#16537)
c1a1275870 is described below
commit c1a1275870ff2e79d9614ee4465718c16682b5c5
Author: Xinyi Zou <[email protected]>
AuthorDate: Fri Feb 10 08:48:12 2023 +0800
[fix](memory) Fix parquet load stack overflow (#16537)
---
be/src/vec/exec/format/parquet/parquet_thrift_util.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/be/src/vec/exec/format/parquet/parquet_thrift_util.h
b/be/src/vec/exec/format/parquet/parquet_thrift_util.h
index 269f6a4368..184d4c786a 100644
--- a/be/src/vec/exec/format/parquet/parquet_thrift_util.h
+++ b/be/src/vec/exec/format/parquet/parquet_thrift_util.h
@@ -59,12 +59,12 @@ static Status parse_thrift_footer(io::FileReaderSPtr file,
}
tparquet::FileMetaData t_metadata;
// deserialize footer
- uint8_t meta_buff[metadata_size];
- Slice res(meta_buff, metadata_size);
+ std::unique_ptr<uint8_t[]> meta_buff(new uint8_t[metadata_size]);
+ Slice res(meta_buff.get(), metadata_size);
RETURN_IF_ERROR(file->read_at(file_size - PARQUET_FOOTER_SIZE -
metadata_size, res, io_ctx,
&bytes_read));
DCHECK_EQ(bytes_read, metadata_size);
- RETURN_IF_ERROR(deserialize_thrift_msg(meta_buff, &metadata_size, true,
&t_metadata));
+ RETURN_IF_ERROR(deserialize_thrift_msg(meta_buff.get(), &metadata_size,
true, &t_metadata));
file_metadata.reset(new FileMetaData(t_metadata));
RETURN_IF_ERROR(file_metadata->init_schema());
return Status::OK();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]