Add SIZE_MAX overflow check

This commit is contained in:
Andrey A. Chernov 2010-03-09 21:06:17 +00:00
parent d2796d06d3
commit 0100f0ddf7
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=204928

View File

@ -201,6 +201,8 @@ convert(const char *str)
if ((n = mbstowcs(NULL, str, 0)) == (size_t)-1)
return (NULL);
if (SIZE_MAX / sizeof(*buf) < n + 1)
errx(1, "conversion buffer length overflow");
if ((buf = malloc((n + 1) * sizeof(*buf))) == NULL)
err(1, "malloc");
if (mbstowcs(buf, str, n + 1) != n)