diff -ruN a/nscd/netgroupcache.c b/nscd/netgroupcache.c --- a/nscd/netgroupcache.c 2020-02-01 20:52:50.000000000 +0900 +++ b/nscd/netgroupcache.c 2021-04-16 09:10:09.046603554 +0900 @@ -248,7 +248,7 @@ : NULL); ndomain = (ndomain ? newbuf + ndomaindiff : NULL); - buffer = newbuf; + *tofreep = buffer = newbuf; } nhost = memcpy (buffer + bufused, @@ -319,7 +319,7 @@ else if (status == NSS_STATUS_TRYAGAIN && e == ERANGE) { buflen *= 2; - buffer = xrealloc (buffer, buflen); + *tofreep = buffer = xrealloc (buffer, buflen); } else if (status == NSS_STATUS_RETURN || status == NSS_STATUS_NOTFOUND