From eeea3e7708bd1bae7376250b2691bdaa366719a0 Mon Sep 17 00:00:00 2001 From: sdc Date: Fri, 28 Jul 2023 02:48:38 +0000 Subject: [PATCH] fix window function memleak when insert failed --- src/sql/engine/window_function/ob_window_function_op.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/sql/engine/window_function/ob_window_function_op.cpp b/src/sql/engine/window_function/ob_window_function_op.cpp index 5b89b38ade..ecf67c2853 100644 --- a/src/sql/engine/window_function/ob_window_function_op.cpp +++ b/src/sql/engine/window_function/ob_window_function_op.cpp @@ -1283,9 +1283,14 @@ int ObWindowFunctionOp::init() LOG_WARN("add func failed", K(ret)); } else { LOG_DEBUG("add func succ", KPC(wf_cell)); + wf_cell = NULL; } } } + if (OB_UNLIKELY(NULL != wf_cell)) { + wf_cell->~WinFuncCell(); + wf_cell = NULL; + } if (OB_SUCC(ret) && MY_SPEC.is_participator()) { if (wf_info.can_push_down_) { if (common::OB_INVALID_COUNT == next_wf_pby_expr_cnt_to_transmit_) {