In open_memstream() the code does a bzero() of the new memory even though
recallocarray() used which does this already.
In open_wmemstream() the code does the same but is still using
reallocarray(). So adjust that code to be like open_memstream().
--
:wq Claudio
Index: open_memstream.c
===================================================================
RCS file: /cvs/src/lib/libc/stdio/open_memstream.c,v
retrieving revision 1.8
diff -u -p -r1.8 open_memstream.c
--- open_memstream.c 2 May 2019 08:30:10 -0000 1.8
+++ open_memstream.c 8 Jun 2023 12:21:50 -0000
@@ -53,7 +53,6 @@ memstream_write(void *v, const char *b,
p = recallocarray(st->string, st->size, sz, 1);
if (!p)
return (-1);
- bzero(p + st->size, sz - st->size);
*st->pbuf = st->string = p;
st->size = sz;
}
Index: open_wmemstream.c
===================================================================
RCS file: /cvs/src/lib/libc/stdio/open_wmemstream.c,v
retrieving revision 1.8
diff -u -p -r1.8 open_wmemstream.c
--- open_wmemstream.c 12 Sep 2015 16:23:14 -0000 1.8
+++ open_wmemstream.c 15 Jun 2023 14:54:42 -0000
@@ -52,10 +52,9 @@ wmemstream_write(void *v, const char *b,
if (sz < end + 1)
sz = end + 1;
- p = reallocarray(st->string, sz, sizeof(wchar_t));
+ p = recallocarray(st->string, st->size, sz, sizeof(wchar_t));
if (!p)
return (-1);
- bzero(p + st->size, (sz - st->size) * sizeof(wchar_t));
*st->pbuf = st->string = p;
st->size = sz;
}