v1-0001-Fix-memory-leak-in-tzparser.patch

application/octet-stream

Filename: v1-0001-Fix-memory-leak-in-tzparser.patch
Type: application/octet-stream
Part: 0
Message: Fix memory leak in tzparser.c

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: format-patch
Series: patch v1-0001
Subject: Fix memory leak in tzparser.c
File+
src/backend/utils/misc/tzparser.c 2 0
From 28663310a6a7f2459e3af633a3b1528d22b9ac06 Mon Sep 17 00:00:00 2001
From: Shixin Wang <wang-shi-xin@outlook.com>
Date: Tue, 16 Dec 2025 13:41:08 +0800
Subject: [PATCH] Fix memory leak in tzparser.c

When overriding a timezone entry in addToArray(), original
midptr->zone string was leaked before being replaced with the new
entry->zone. Add pfree() call to free the old zone string before
overwriting it.

Author: Shixin Wang <wang-shi-xin@outlook.com>
---
 src/backend/utils/misc/tzparser.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/backend/utils/misc/tzparser.c b/src/backend/utils/misc/tzparser.c
index d7e84bab981..6a1893f37ca 100644
--- a/src/backend/utils/misc/tzparser.c
+++ b/src/backend/utils/misc/tzparser.c
@@ -229,6 +229,8 @@ addToArray(tzEntry **base, int *arraysize, int n,
 			if (override)
 			{
 				/* same abbrev but something is different, override */
+				if (midptr->zone != NULL)
+					pfree(midptr->zone);
 				midptr->zone = entry->zone;
 				midptr->offset = entry->offset;
 				midptr->is_dst = entry->is_dst;
-- 
2.50.1 (Apple Git-155)