Fix memory leak.
authorTatsuo Ishii <ishii@postgresql.org>
Sat, 19 Jul 2025 06:43:11 +0000 (15:43 +0900)
committerTatsuo Ishii <ishii@postgresql.org>
Sat, 19 Jul 2025 06:44:40 +0000 (15:44 +0900)
Fix resource leak in pool_push_pending_data pointed out by Coverity.

Backpatch-through: v4.2

src/protocol/pool_process_query.c

index 7fb6f106ff3171ff114242f82cd43f5b991e7dc1..2a35b6ca63b5acf44840fa104a190751ee4d60ae 100644 (file)
@@ -5219,6 +5219,7 @@ pool_push_pending_data(POOL_CONNECTION * backend)
                {
                        pool_push(backend, buf, len);
                        pfree(buf);
+                       buf = NULL;
                }
                data_pushed = true;
                if (kind == 'E')
@@ -5227,6 +5228,8 @@ pool_push_pending_data(POOL_CONNECTION * backend)
                        ereport(DEBUG1,
                                        (errmsg("pool_push_pending_data: ERROR response found")));
                        pool_set_ignore_till_sync();
+                       if (buf)
+                               pfree(buf);
                        break;
                }
                num_pushed_messages++;