Add missing NULL checks when calling malloc(M_NOWAIT) in

bhnd_nv_strdup/bhnd_nv_strndup.

If malloc(9) failed during initial bhnd(4) attach, while allocating the root
NVRAM path string ("/"), the returned NULL pointer would be passed as the
destination to memcpy().

Reported by:	Ilja Van Sprundel <ivansprundel@ioactive.com>
This commit is contained in:
landonf 2018-03-22 22:13:46 +00:00
parent b74ecf8d2a
commit 67ac67c3b6

View File

@ -91,6 +91,9 @@ bhnd_nv_strdup(const char *str)
len = strlen(str);
dest = malloc(len + 1, M_BHND_NVRAM, M_NOWAIT);
if (dest == NULL)
return (NULL);
memcpy(dest, str, len);
dest[len] = '\0';
@ -105,6 +108,9 @@ bhnd_nv_strndup(const char *str, size_t len)
len = strnlen(str, len);
dest = malloc(len + 1, M_BHND_NVRAM, M_NOWAIT);
if (dest == NULL)
return (NULL);
memcpy(dest, str, len);
dest[len] = '\0';