From 4dbe7fe25c926984d66f7c5a0590458b3a1bc7a7 Mon Sep 17 00:00:00 2001 From: Asif Rehman Date: Thu, 8 Jan 2026 16:55:49 +0500 Subject: [PATCH] Fix memory leak and assertion bug - Fix assertion in spock_worker.c Changed 'Assert(MySpockWorker->proc = MyProc)' to use '==' - Fix memory leak in spock_apply_heap.c Free remotetuple after reporting conflict --- src/spock_apply_heap.c | 1 + src/spock_worker.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/spock_apply_heap.c b/src/spock_apply_heap.c index cdc917ca..2fd28e4c 100644 --- a/src/spock_apply_heap.c +++ b/src/spock_apply_heap.c @@ -1203,6 +1203,7 @@ spock_apply_heap_delete(SpockRelation *rel, SpockTupleData *oldtup) remotetuple, NULL, SpockResolution_Skip, InvalidTransactionId, false, InvalidRepOriginId, (TimestampTz) 0, edata->targetRel->idxoid); + heap_freetuple(remotetuple); } /* Cleanup. */ diff --git a/src/spock_worker.c b/src/spock_worker.c index 3cad4948..b3058fdc 100644 --- a/src/spock_worker.c +++ b/src/spock_worker.c @@ -427,7 +427,7 @@ spock_worker_detach(bool crash) LWLockAcquire(SpockCtx->lock, LW_EXCLUSIVE); - Assert(MySpockWorker->proc = MyProc); + Assert(MySpockWorker->proc == MyProc); Assert(MySpockWorker->generation == MySpockWorkerGeneration); MySpockWorker->proc = NULL;