https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234622

Jilles Tjoelker <jil...@freebsd.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jil...@freebsd.org
             Status|New                         |Open

--- Comment #1 from Jilles Tjoelker <jil...@freebsd.org> ---
This patch looks conceptually correct: if getgrent_r() returns ERANGE, it must
not advance the iterator. Apparently it is acceptable to call yp_first() or
yp_next() with the same key multiple times.

The code in FreeBSD head advances the iterator when ERANGE is returned, so the
excessively long group is discarded (but following groups will use a larger
buffer).

Potential issue in the patch: reading *errnop in if (*errnop == ERANGE) {
without ensuring it is meaningful by checking rv == NS_RETURN may not be
correct.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to