summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2016-04-20 20:44:30 +0000
committerbapt <bapt@FreeBSD.org>2016-04-20 20:44:30 +0000
commit2253af0f89b21c7e68ceda1a83902e47b11b0c39 (patch)
tree4c587018d8bfb661687b93703c10cfa3559d9a68 /lib/libc
parent9ecbe9199d47cc80abff1123c80ed8384fa9a0ff (diff)
downloadFreeBSD-src-2253af0f89b21c7e68ceda1a83902e47b11b0c39.zip
FreeBSD-src-2253af0f89b21c7e68ceda1a83902e47b11b0c39.tar.gz
Check the returned value of memchr(3) before using it
Reported by: Coverity CID: 1338530
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/locale/ascii.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/libc/locale/ascii.c b/lib/libc/locale/ascii.c
index 3e625e4..a550c70 100644
--- a/lib/libc/locale/ascii.c
+++ b/lib/libc/locale/ascii.c
@@ -133,11 +133,14 @@ _ascii_mbsnrtowcs(wchar_t * __restrict dst, const char ** __restrict src,
if (dst == NULL) {
s = memchr(*src, '\0', nms);
+ if (s == NULL)
+ return (nms);
+
if (*s & 0x80) {
errno = EILSEQ;
return ((size_t)-1);
}
- return (s != NULL ? s - *src : nms);
+ return (s - *src);
}
s = *src;
OpenPOWER on IntegriCloud