From f8f62b75c78fd6631770d991c76f3937354d7d3a Mon Sep 17 00:00:00 2001 From: obdev Date: Thu, 8 Feb 2024 19:54:30 +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 b92b1fe1cc..9539e18580 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); }