> On Jan 5, 2026, at 02:06, Heikki Linnakangas <hlinnaka@iki.fi> wrote:
>
> Yes, you're right. Good catch! Committed the fix, thanks.
>
> - Heikki
Hi Heikki,
I actually reviewed this patch and had a comment on slur_io.c, but I don’t know why I left my comment email in the
draftbox and never sent it out.
The comment was that:
```
+void
+FreeSlruRead(SlruSegState *state)
+{
+ Assert(!state->writing); /* read only mode */
+
+ if (state->fd != -1)
+ close(state->fd);
+ pg_free(state);
+}
+void
+FreeSlruWrite(SlruSegState *state)
+{
+ Assert(state->writing);
+
+ SlruFlush(state);
+
+ if (state->fd != -1)
+ close(state->fd);
+ pg_free(state);
+}
```
In both FreeSlruRead() and FreeSlruWrite(), as we pg_free(state), I don’t see a reason why we don’t free state->dir and
state->fnas well, because they are allocated by pstrdup and psrintf, which looks like memory leaks.
I made a change as the attached diff. Please see if you agree with the change.
Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/