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

zykkk 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 15c43d8b8a0 [BugFix](JDBC Catalog) fix jdbc catalog query bitmap may 
cause be core sometimes (#26933)
15c43d8b8a0 is described below

commit 15c43d8b8a0a7b2f6a916b8c2288cd0d0bef4d12
Author: GoGoWen <82132356+gogo...@users.noreply.github.com>
AuthorDate: Wed Nov 15 10:20:42 2023 +0800

    [BugFix](JDBC Catalog) fix jdbc catalog query bitmap may cause be core 
sometimes (#26933)
    
    BitmapValue::write_to will get a string with size 1 for empty BitmapValue, 
however the size 1 string will reinterpret to BitmapValue* back in 
ColumnComplexType::insert:
    void insert(const Field& x) override {
    const String& s = doris::vectorized::get<const String&>(x);
    data.push_back(reinterpret_cast<const T>(s.c_str()));
    }
    
    in data.push_back will goto BitmapValue copy constructor, as the _type is 
not first member in BitmapValue, cause access to an unknown memory location.
---
 be/src/util/bitmap_value.h | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/be/src/util/bitmap_value.h b/be/src/util/bitmap_value.h
index 71edf62a8ad..07895ed5591 100644
--- a/be/src/util/bitmap_value.h
+++ b/be/src/util/bitmap_value.h
@@ -1259,10 +1259,9 @@ public:
     }
 
     static std::string empty_bitmap() {
-        static BitmapValue bitmap;
-        std::string buf;
-        buf.resize(bitmap.getSizeInBytes());
-        bitmap.write_to(buf.data());
+        std::string buf(sizeof(BitmapValue), 0);
+        BitmapValue* bitmap_value = reinterpret_cast<BitmapValue*>(buf.data());
+        bitmap_value->_type = EMPTY;
         return buf;
     }
 


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

Reply via email to