From 3240a3a942bbd4dd78cb7ebdf346fdaf0bf5badc Mon Sep 17 00:00:00 2001 From: Rene Cannao Date: Sat, 21 Feb 2026 18:10:15 +0000 Subject: [PATCH] Fix SIGSEGV caused by double-finalize of sqlite3_stmt --- lib/Discovery_Schema.cpp | 3 --- lib/PgSQL_Static_Harvester.cpp | 2 -- 2 files changed, 5 deletions(-) diff --git a/lib/Discovery_Schema.cpp b/lib/Discovery_Schema.cpp index 23d36f44b..ae6ac0315 100644 --- a/lib/Discovery_Schema.cpp +++ b/lib/Discovery_Schema.cpp @@ -107,7 +107,6 @@ int Discovery_Schema::resolve_run_id(const std::string& target_id, const std::st (*proxy_sqlite3_bind_text)(stmt, 2, target_id.c_str(), -1, SQLITE_TRANSIENT); SAFE_SQLITE3_STEP2(stmt); bool found = (rc == SQLITE_ROW); - (*proxy_sqlite3_finalize)(stmt); return found ? run_id : -1; } @@ -129,12 +128,10 @@ int Discovery_Schema::resolve_run_id(const std::string& target_id, const std::st SAFE_SQLITE3_STEP2(stmt); if (rc != SQLITE_ROW) { proxy_warning("No run found for schema '%s'\n", run_id_or_schema.c_str()); - (*proxy_sqlite3_finalize)(stmt); return -1; } int run_id = (*proxy_sqlite3_column_int)(stmt, 0); - (*proxy_sqlite3_finalize)(stmt); return run_id; } diff --git a/lib/PgSQL_Static_Harvester.cpp b/lib/PgSQL_Static_Harvester.cpp index c2b9e927d..4ae170aa4 100644 --- a/lib/PgSQL_Static_Harvester.cpp +++ b/lib/PgSQL_Static_Harvester.cpp @@ -194,7 +194,6 @@ int PgSQL_Static_Harvester::lookup_object_id(const std::string& schema_name, con if (rc == SQLITE_ROW) { object_id = (*proxy_sqlite3_column_int)(stmt, 0); } - (*proxy_sqlite3_finalize)(stmt); return object_id; } @@ -552,7 +551,6 @@ int PgSQL_Static_Harvester::harvest_view_definitions(const std::string& only_sch count++; } } - (*proxy_sqlite3_finalize)(stmt); } return count; }