summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdio/getdelim.c
diff options
context:
space:
mode:
authorbrynet <brynet@openbsd.org>2017-04-13 18:36:51 +0000
committerbrynet <brynet@openbsd.org>2017-04-13 18:36:51 +0000
commitfa826e3f7e01ed0795ae97fd2c6c675f1be3392d (patch)
tree96032a928745740af21bbed3a6022008b5157790 /lib/libc/stdio/getdelim.c
parentallow clearing less than allocated and document freezero(3) better (diff)
downloadwireguard-openbsd-fa826e3f7e01ed0795ae97fd2c6c675f1be3392d.tar.xz
wireguard-openbsd-fa826e3f7e01ed0795ae97fd2c6c675f1be3392d.zip
Use recallocarray in getdelim/getline to clear memory on buffer resizes,
inspired by a similar change to fgetln. ok deraadt millert
Diffstat (limited to 'lib/libc/stdio/getdelim.c')
-rw-r--r--lib/libc/stdio/getdelim.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libc/stdio/getdelim.c b/lib/libc/stdio/getdelim.c
index 0e0e338328c..d709a3d18e1 100644
--- a/lib/libc/stdio/getdelim.c
+++ b/lib/libc/stdio/getdelim.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: getdelim.c,v 1.5 2016/09/21 04:38:56 guenther Exp $ */
+/* $OpenBSD: getdelim.c,v 1.6 2017/04/13 18:36:51 brynet Exp $ */
/* $NetBSD: getdelim.c,v 1.13 2011/07/22 23:12:30 joerg Exp $ */
/*
@@ -103,7 +103,7 @@ getdelim(char **__restrict buf, size_t *__restrict buflen,
newlen++;
}
- newb = realloc(*buf, newlen);
+ newb = recallocarray(*buf, *buflen, newlen, 1);
if (newb == NULL)
goto error;
*buf = newb;