> On Jan 5, 2026, at 02:06, Heikki Linnakangas <[email protected]> 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 draft box 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->fn as 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/
slru_io_memory.diff
Description: Binary data
