summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>2009-11-25 04:27:55 +0000
committerwollman <wollman@FreeBSD.org>2009-11-25 04:27:55 +0000
commitb15e7bd9790eb41e97bbef83cfa1f1d778e2e7e2 (patch)
treede117fc85f5356429d57eabe438f1669bbab5b22 /lib
parentf44a6f4d8d88c80474b25b8be3da936d6c652bb1 (diff)
downloadFreeBSD-src-b15e7bd9790eb41e97bbef83cfa1f1d778e2e7e2.zip
FreeBSD-src-b15e7bd9790eb41e97bbef83cfa1f1d778e2e7e2.tar.gz
In __mbsconv(), if prec was zero, nconv could have been used
uninitialized. Initialize it to a safe value so that there's no chance of returning an error if stack garbage happens to be equal to (size_t)-1 or (size_t)-2. Found by: Clang static analyzer MFC after: 7 days
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/stdio/vfwprintf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libc/stdio/vfwprintf.c b/lib/libc/stdio/vfwprintf.c
index f3768de..d34f559 100644
--- a/lib/libc/stdio/vfwprintf.c
+++ b/lib/libc/stdio/vfwprintf.c
@@ -293,7 +293,7 @@ __mbsconv(char *mbsarg, int prec)
* number of characters to print.
*/
p = mbsarg;
- insize = nchars = 0;
+ insize = nchars = nconv = 0;
mbs = initial_mbs;
while (nchars != (size_t)prec) {
nconv = mbrlen(p, MB_CUR_MAX, &mbs);
OpenPOWER on IntegriCloud