getpwent_r(3) needs gr->gr_mem to be freed, but that's not documented
Mark Harris
mark.hsj@gmail.com
Sun Sep 28 21:54:59 GMT 2025
Alejandro Colomar wrote:
>
> On Sun, Sep 28, 2025 at 10:26:33PM +0200, Alejandro Colomar wrote:
> > Hi!
> >
> > Another thing I realized about getpwent_r(3) et al. is that gr->gr_mem
>
> Actually, getgrent_r(3).
>
> > is allocated by the function, but is expected to be freed by the caller.
> >
> > I didn't find this documented, neither in the manual page nor in the
> > glibc manual. Is it documented but I missed it? Or did I misunderstand
> > something? Or is it just that nobody documented it?
All memory referenced by the structure, including gr_mem, comes out of
the buffer supplied to the function. POSIX doesn't have getgrent_r,
but it has getgrgid_r, and says:
Storage referenced by the group structure is allocated from the
memory provided with the buffer parameter, which is bufsize bytes in
size.
> >
> >
> > Have a lovely night!
> > Alex
> >
> >
> > --
> > <https://www.alejandro-colomar.es>
> > Use port 80 (that is, <...:80/>).
>
>
>
> --
> <https://www.alejandro-colomar.es>
> Use port 80 (that is, <...:80/>).
More information about the Libc-alpha
mailing list