summaryrefslogtreecommitdiffstats
path: root/src/vnet/tcp/tcp_input.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2018-12-06 18:24:19 -0800
committerDamjan Marion <dmarion@me.com>2018-12-07 15:08:58 +0000
commitab86f86e7c29393fa1da81b5f86296bd5fcb7420 (patch)
treed410676822b9b51d226cdafe09c98548dbbedfd8 /src/vnet/tcp/tcp_input.c
parentdf0847831715ef0f639a6d8e79468cd1e2341cd6 (diff)
tcp: improve check for invalid sack blocks
Change-Id: Ic6a6202a2d5aca33eee7fc6ff8eeaa1db9b58525 Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/tcp/tcp_input.c')
-rw-r--r--src/vnet/tcp/tcp_input.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/vnet/tcp/tcp_input.c b/src/vnet/tcp/tcp_input.c
index 0e915505d37..dff18029155 100644
--- a/src/vnet/tcp/tcp_input.c
+++ b/src/vnet/tcp/tcp_input.c
@@ -905,7 +905,9 @@ tcp_rcv_sacks (tcp_connection_t * tc, u32 ack)
{
if (seq_lt (blk->start, blk->end)
&& seq_gt (blk->start, tc->snd_una)
- && seq_gt (blk->start, ack) && seq_leq (blk->end, tc->snd_una_max))
+ && seq_gt (blk->start, ack)
+ && seq_lt (blk->start, tc->snd_una_max)
+ && seq_leq (blk->end, tc->snd_una_max))
{
blk++;
continue;