From 2e35ef4490bc5a08acbd9efcdd7a9b0d8667ce4f Mon Sep 17 00:00:00 2001 From: hwx65 <1780011298@qq.com> Date: Wed, 3 Jan 2024 11:57:00 +0000 Subject: [PATCH] Fix the memory leak bug of VectorHeader to_string --- src/sql/engine/expr/ob_expr.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sql/engine/expr/ob_expr.cpp b/src/sql/engine/expr/ob_expr.cpp index b92b1fe1c..9539e1858 100644 --- a/src/sql/engine/expr/ob_expr.cpp +++ b/src/sql/engine/expr/ob_expr.cpp @@ -1350,9 +1350,9 @@ int ToStrVectorHeader::to_string_helper(char *buf, const int64_t buf_len) const ObLength length = vector->get_length(i); BUF_PRINTF(", len: %d, ptr: %p, hex: ", length, vector->get_payload(i)); hex_print(vector->get_payload(i), length, buf, buf_len, pos); + ObDatum tmp_datum(vector->get_payload(i), length, vector->is_null(i)); ObObj tmp_obj; - ObDatum* tmp_datum = new ObDatum(vector->get_payload(i), length, vector->is_null(i)); - if (OB_SUCCESS == tmp_datum->to_obj(tmp_obj, expr_.obj_meta_, expr_.obj_datum_map_)) { + if (OB_SUCCESS == tmp_datum.to_obj(tmp_obj, expr_.obj_meta_, expr_.obj_datum_map_)) { BUF_PRINTF(", value: "); pos += tmp_obj.to_string(buf + pos, buf_len - pos); }