summaryrefslogtreecommitdiffstats
path: root/lib/libc/gen/getgrent.c
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2015-02-22 16:04:37 +0000
committerdim <dim@FreeBSD.org>2015-02-22 16:04:37 +0000
commit9bd5a747dd2c968d97a8932065fb94723bbeae9c (patch)
tree62a36bf13e95aeb90982314c4943a29b289e60ee /lib/libc/gen/getgrent.c
parent1e024675bcd5e4ace8bffb2dd6afd3fa8b8ad7f3 (diff)
parent88c4104dd7fac3a58708a6de5dcd21610a7f0316 (diff)
downloadFreeBSD-src-9bd5a747dd2c968d97a8932065fb94723bbeae9c.zip
FreeBSD-src-9bd5a747dd2c968d97a8932065fb94723bbeae9c.tar.gz
Merge ^/head r279023 through r279162.
Diffstat (limited to 'lib/libc/gen/getgrent.c')
-rw-r--r--lib/libc/gen/getgrent.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libc/gen/getgrent.c b/lib/libc/gen/getgrent.c
index 4ba24ae..1f4d7e9 100644
--- a/lib/libc/gen/getgrent.c
+++ b/lib/libc/gen/getgrent.c
@@ -1173,8 +1173,10 @@ nis_group(void *retval, void *mdata, va_list ap)
* terminator, alignment padding, and one (char *)
* pointer for the member list terminator.
*/
- if (resultlen >= bufsize - _ALIGNBYTES - sizeof(char *))
+ if (resultlen >= bufsize - _ALIGNBYTES - sizeof(char *)) {
+ free(result);
goto erange;
+ }
memcpy(buffer, result, resultlen);
buffer[resultlen] = '\0';
free(result);
OpenPOWER on IntegriCloud