public inbox for [email protected]  
help / color / mirror / Atom feed
From: Aleksander Alekseev <[email protected]>
To: PostgreSQL Development <[email protected]>
Subject: [PATCH] Silence a new Valgrind warning
Date: Thu, 12 Mar 2026 15:56:26 +0300
Message-ID: <CAJ7c6TN3Hbb5p=UHx0SPVN+h_JwPAV6rxoqOm7gHBMFKfnGK-Q@mail.gmail.com> (raw)

Hi,

Commit 4966bd3ed95e revealed a non-critical memory leak in
ProcessStartupPacket() which Valgrind is very much upset about:

```
63 (32 direct, 31 indirect) bytes in 1 blocks are definitely lost in
loss record 355 of 800
   at 0x9D260C: palloc (mcxt.c:1411)
   by 0x54B3D2: new_list (list.c:137)
   by 0x54B8CC: lappend (list.c:344)
   by 0x78B41A: ProcessStartupPacket (backend_startup.c:786)
   by 0x78A411: BackendInitialize (backend_startup.c:295)
   by 0x789F2F: BackendMain (backend_startup.c:110)
   by 0x67EEED: postmaster_child_launch (launch_backend.c:268)
   by 0x685D50: BackendStartup (postmaster.c:3606)
   by 0x6830CF: ServerLoop (postmaster.c:1713)
   by 0x682982: PostmasterMain (postmaster.c:1403)
   by 0x547DFE: main (main.c:231)
```

The proposed patch silences the warnings.

-- 
Best regards,
Aleksander Alekseev


Attachments:

  [text/x-patch] v1-0001-Free-memory-allocated-for-unrecognized_protocol_o.patch (1.2K, 2-v1-0001-Free-memory-allocated-for-unrecognized_protocol_o.patch)
  download | inline diff:
From 079a646f4db6ff80ec02a6bb8884f4c5b075345c Mon Sep 17 00:00:00 2001
From: Aleksander Alekseev <[email protected]>
Date: Thu, 12 Mar 2026 14:53:38 +0300
Subject: [PATCH v1] Free memory allocated for unrecognized_protocol_options

Since 4966bd3ed95e Valgrind started to warn about little amount of memory being
leaked in ProcessStartupPacket(). This is not critical but the warnings may
distract from real issues. Fix it by freeing the list after use.

Author: Aleksander Alekseev <[email protected]>
Reviewed-by: TODO FIXME
Discussion: TODO FIXME
---
 src/backend/tcop/backend_startup.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/backend/tcop/backend_startup.c b/src/backend/tcop/backend_startup.c
index c517115927c..5abf276c898 100644
--- a/src/backend/tcop/backend_startup.c
+++ b/src/backend/tcop/backend_startup.c
@@ -825,6 +825,8 @@ ProcessStartupPacket(Port *port, bool ssl_done, bool gss_done)
 		if (PG_PROTOCOL_MINOR(proto) > PG_PROTOCOL_MINOR(PG_PROTOCOL_LATEST) ||
 			unrecognized_protocol_options != NIL)
 			SendNegotiateProtocolVersion(unrecognized_protocol_options);
+
+		list_free_deep(unrecognized_protocol_options);
 	}
 
 	/* Check a user name was given. */
-- 
2.43.0



view thread (3+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected]
  Subject: Re: [PATCH] Silence a new Valgrind warning
  In-Reply-To: <CAJ7c6TN3Hbb5p=UHx0SPVN+h_JwPAV6rxoqOm7gHBMFKfnGK-Q@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox