From 22dfb9bdb7dc403041b8b2ea9d611cf40e1c4b84 Mon Sep 17 00:00:00 2001 From: Archie Cobbs Date: Thu, 8 Mar 2001 20:10:02 +0000 Subject: [PATCH] Fix potential crash caused by packets with bogus ACK's. Reported by: Fabien THOMAS --- sys/netgraph/ng_pptpgre.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netgraph/ng_pptpgre.c b/sys/netgraph/ng_pptpgre.c index a165a3aac04..c9a83accd0a 100644 --- a/sys/netgraph/ng_pptpgre.c +++ b/sys/netgraph/ng_pptpgre.c @@ -635,7 +635,7 @@ bad: 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 @@ bad: 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)