You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2022/07/12 08:54:39 UTC

[doris] branch master updated: fix use released memory bugs (#10777)

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 5f99a95816 fix use released memory bugs (#10777)
5f99a95816 is described below

commit 5f99a958161cf060a69a18f7e3749e6aa6483954
Author: camby <10...@qq.com>
AuthorDate: Tue Jul 12 16:54:32 2022 +0800

    fix use released memory bugs (#10777)
    
    Co-authored-by: cambyzju <zh...@baidu.com>
---
 be/src/vec/data_types/data_type_nullable.cpp |  8 ++++----
 be/src/vec/data_types/data_type_string.cpp   | 10 ++++------
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/be/src/vec/data_types/data_type_nullable.cpp b/be/src/vec/data_types/data_type_nullable.cpp
index d8a3525bc3..41a1abc0ce 100644
--- a/be/src/vec/data_types/data_type_nullable.cpp
+++ b/be/src/vec/data_types/data_type_nullable.cpp
@@ -43,8 +43,8 @@ bool DataTypeNullable::only_null() const {
 }
 
 std::string DataTypeNullable::to_string(const IColumn& column, size_t row_num) const {
-    const ColumnNullable& col =
-            assert_cast<const ColumnNullable&>(*column.convert_to_full_column_if_const().get());
+    auto ptr = column.convert_to_full_column_if_const();
+    const ColumnNullable& col = assert_cast<const ColumnNullable&>(*ptr.get());
 
     if (col.is_null_at(row_num)) {
         return "NULL";
@@ -55,8 +55,8 @@ std::string DataTypeNullable::to_string(const IColumn& column, size_t row_num) c
 
 void DataTypeNullable::to_string(const IColumn& column, size_t row_num,
                                  BufferWritable& ostr) const {
-    const ColumnNullable& col =
-            assert_cast<const ColumnNullable&>(*column.convert_to_full_column_if_const().get());
+    auto ptr = column.convert_to_full_column_if_const();
+    const ColumnNullable& col = assert_cast<const ColumnNullable&>(*ptr.get());
 
     if (col.is_null_at(row_num)) {
         ostr.write("NULL", 4);
diff --git a/be/src/vec/data_types/data_type_string.cpp b/be/src/vec/data_types/data_type_string.cpp
index b7bf2fdc2e..b319ae3e93 100644
--- a/be/src/vec/data_types/data_type_string.cpp
+++ b/be/src/vec/data_types/data_type_string.cpp
@@ -52,17 +52,15 @@ static inline void read(IColumn& column, Reader&& reader) {
 }
 
 std::string DataTypeString::to_string(const IColumn& column, size_t row_num) const {
-    const StringRef& s =
-            assert_cast<const ColumnString&>(*column.convert_to_full_column_if_const().get())
-                    .get_data_at(row_num);
+    auto ptr = column.convert_to_full_column_if_const();
+    const StringRef& s = assert_cast<const ColumnString&>(*ptr.get()).get_data_at(row_num);
     return s.to_string();
 }
 
 void DataTypeString::to_string(const class doris::vectorized::IColumn& column, size_t row_num,
                                class doris::vectorized::BufferWritable& ostr) const {
-    const StringRef& s =
-            assert_cast<const ColumnString&>(*column.convert_to_full_column_if_const().get())
-                    .get_data_at(row_num);
+    auto ptr = column.convert_to_full_column_if_const();
+    const StringRef& s = assert_cast<const ColumnString&>(*ptr.get()).get_data_at(row_num);
     ostr.write(s.data, s.size);
 }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org