diff options
Diffstat (limited to 'sys/contrib/libnv/bsd_nvpair.c')
| -rw-r--r-- | sys/contrib/libnv/bsd_nvpair.c | 8 | 
1 files changed, 4 insertions, 4 deletions
| diff --git a/sys/contrib/libnv/bsd_nvpair.c b/sys/contrib/libnv/bsd_nvpair.c index c73bc2189121..b884dd260b84 100644 --- a/sys/contrib/libnv/bsd_nvpair.c +++ b/sys/contrib/libnv/bsd_nvpair.c @@ -985,13 +985,13 @@ nvpair_unpack_string_array(bool isbe __unused, nvpair_t *nvp,  	size = nvp->nvp_datasize;  	tmp = (const char *)ptr;  	for (ii = 0; ii < nvp->nvp_nitems; ii++) { -		len = strnlen(tmp, size - 1) + 1; -		size -= len; -		if (tmp[len - 1] != '\0') { +		if (size <= 0) {  			ERRNO_SET(EINVAL);  			return (NULL);  		} -		if (size < 0) { +		len = strnlen(tmp, size - 1) + 1; +		size -= len; +		if (tmp[len - 1] != '\0') {  			ERRNO_SET(EINVAL);  			return (NULL);  		} | 
