MPPP: Discard fragments even when reassembling failed mppp-fixes
authorBenjamin Cama <benoar@dolka.fr>
Thu, 26 Jan 2012 22:44:55 +0000 (23:44 +0100)
committerBenjamin Cama <benoar@dolka.fr>
Thu, 26 Jan 2012 22:44:55 +0000 (23:44 +0100)
ppp.c

diff --git a/ppp.c b/ppp.c
index afbffd8..ee299cb 100644 (file)
--- a/ppp.c
+++ b/ppp.c
@@ -1946,7 +1946,7 @@ void processmpin(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
 
                // return if a lost fragment is found
                if (!(this_fragmentation->fragment[begin_index].length))
-                       return; // assembling frame failed
+                       goto discard_lost_frames; // assembling frame failed
                // get the end of his frame
                while (this_fragmentation->fragment[end_index].length)
                {
@@ -1957,7 +1957,7 @@ void processmpin(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
 
                // return if a lost fragment is found
                if (!(this_fragmentation->fragment[end_index].length))
-                       return; // assembling frame failed
+                       goto discard_lost_frames; // assembling frame failed
 
                // assemble the packet
                //assemble frame, process it, reset fragmentation