| version 1.103, 2004/05/25 04:30:32 |
version 1.104, 2004/07/01 12:42:57 |
| Line 1478 sosetopt(struct socket *so, int level, i |
|
| Line 1478 sosetopt(struct socket *so, int level, i |
|
| case SO_RCVTIMEO: |
case SO_RCVTIMEO: |
| { |
{ |
| struct timeval *tv; |
struct timeval *tv; |
| short val; |
int val; |
| |
|
| if (m == NULL || m->m_len < sizeof(*tv)) { |
if (m == NULL || m->m_len < sizeof(*tv)) { |
| error = EINVAL; |
error = EINVAL; |
| goto bad; |
goto bad; |
| } |
} |
| tv = mtod(m, struct timeval *); |
tv = mtod(m, struct timeval *); |
| if (tv->tv_sec > (SHRT_MAX - tv->tv_usec / tick) / hz) { |
if (tv->tv_sec > (INT_MAX - tv->tv_usec / tick) / hz) { |
| error = EDOM; |
error = EDOM; |
| goto bad; |
goto bad; |
| } |
} |