Fix potential crash caused by packets with bogus ACK's.

Reported by:	Fabien THOMAS <fabient@netasq.com>
This commit is contained in:
Archie Cobbs 2001-03-08 20:10:02 +00:00
parent 4bde2ac539
commit 22dfb9bdb7
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=73998

View File

@ -635,7 +635,7 @@ ng_pptpgre_recv(node_p node, item_p item)
struct ng_pptpgre_ackp *const a = &priv->ackp;
const u_int32_t ack = ntohl(gre->data[gre->hasSeq]);
const int index = ack - priv->recvAck - 1;
const long sample = ng_pptpgre_time(node) - a->timeSent[index];
long sample;
long diff;
/* Sanity check ack value */
@ -648,6 +648,7 @@ ng_pptpgre_recv(node_p node, item_p item)
priv->recvAck = ack;
/* Update adaptive timeout stuff */
sample = ng_pptpgre_time(node) - a->timeSent[index];
diff = sample - a->rtt;
a->rtt += PPTP_ACK_ALPHA(diff);
if (diff < 0)