From deb19a021c1df176d94c23bd1b7cee321aec22d3 Mon Sep 17 00:00:00 2001 From: Rene Cannao Date: Mon, 9 Feb 2026 21:22:27 +0000 Subject: [PATCH] fix: remove double-finalization in stats___save_mysql_query_digest_to_sqlite The RAII-managed unique_ptr already handles statement finalization. Manual finalize calls cause double-free which leads to undefined behavior. Reported-by: CodeRabbit AI --- lib/ProxySQL_Admin_Stats.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/ProxySQL_Admin_Stats.cpp b/lib/ProxySQL_Admin_Stats.cpp index 9c2cb253c..ed1d60f43 100644 --- a/lib/ProxySQL_Admin_Stats.cpp +++ b/lib/ProxySQL_Admin_Stats.cpp @@ -1871,8 +1871,7 @@ int ProxySQL_Admin::stats___mysql_query_digests(bool reset, bool copy) { } row_idx++; } - (*proxy_sqlite3_finalize)(statement1); - (*proxy_sqlite3_finalize)(statement32); + // RAII auto-finalizes statement1 and statement32 /* char *query=(char *)malloc(strlen(a)+arg_len+32); sprintf(query,a,r->fields[10],r->fields[0],r->fields[1],r->fields[2],r->fields[3],r->fields[4],r->fields[5],r->fields[6],r->fields[7],r->fields[8],r->fields[9]);