> 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/




Attachment: slru_io_memory.diff
Description: Binary data

Reply via email to