return (EFAULT);
if (sopt->sopt_val != NULL && sopt->sopt_valsize == 0)
return (EINVAL);
- if (sopt->sopt_valsize < 0)
+ if (sopt->sopt_valsize > SOMAXOPT_SIZE) /* unsigned */
return (EINVAL);
error = holdsock(p->p_fd, s, &fp);
sopt.sopt_td = td;
sopt.sopt_val = NULL;
- if (sopt.sopt_valsize < 0 || sopt.sopt_valsize > SOMAXOPT_SIZE)
+ if (sopt.sopt_valsize > SOMAXOPT_SIZE) /* unsigned */
return (EINVAL);
if (uap->val) {
sopt.sopt_val = kmalloc(sopt.sopt_valsize, M_TEMP, M_WAITOK);
return (EFAULT);
if (sopt->sopt_val != NULL && sopt->sopt_valsize == 0)
return (EINVAL);
- if (sopt->sopt_valsize < 0 || sopt->sopt_valsize > SOMAXOPT_SIZE)
+ if (sopt->sopt_valsize > SOMAXOPT_SIZE) /* unsigned */
return (EINVAL);
error = holdsock(p->p_fd, s, &fp);
sopt.sopt_td = td;
sopt.sopt_val = NULL;
- if (sopt.sopt_valsize < 0 || sopt.sopt_valsize > SOMAXOPT_SIZE)
+ if (sopt.sopt_valsize > SOMAXOPT_SIZE) /* unsigned */
return (EINVAL);
if (uap->val) {
sopt.sopt_val = kmalloc(sopt.sopt_valsize, M_TEMP, M_WAITOK);