diff options
Diffstat (limited to 'net/ipv4/tcp_input.c')
| -rw-r--r-- | net/ipv4/tcp_input.c | 7 | 
1 files changed, 2 insertions, 5 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 367def6ddeda..e51c644484dc 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -3868,11 +3868,8 @@ const u8 *tcp_parse_md5sig_option(const struct tcphdr *th)  	int length = (th->doff << 2) - sizeof(*th);  	const u8 *ptr = (const u8 *)(th + 1); -	/* If the TCP option is too short, we can short cut */ -	if (length < TCPOLEN_MD5SIG) -		return NULL; - -	while (length > 0) { +	/* If not enough data remaining, we can short cut */ +	while (length >= TCPOLEN_MD5SIG) {  		int opcode = *ptr++;  		int opsize;  |