A buffer was freed even though it wasn't allocated as expected. Do
this only when !batch_read.
2009-10-29 Ulrich Drepper <drepper@redhat.com>
+ [BZ #10692]
+ * nis/nss_nis/nis-grp.c (internal_nis_getgrent_r): Don't free buffer
+ in error if batch_read. Patch by Joe Landers <jlanders@vmware.com>.
+
[BZ #10713]
* nis/nss_nis/nis-grp.c (internal_nis_endgrent): Start freeing blocks
from intern.start. Patch by Joe Landers <jlanders@vmware.com>.
if (__builtin_expect ((size_t) (len + 1) > buflen, 0))
{
- free (result);
+ if (!batch_read)
+ free (result);
*errnop = ERANGE;
return NSS_STATUS_TRYAGAIN;
}