]> git.proxmox.com Git - mirror_frr.git/commitdiff
babeld: fix #11808 to avoid infinite loops
authorharryreps <harryreps@gmail.com>
Fri, 3 Mar 2023 23:17:14 +0000 (23:17 +0000)
committerharryreps <harryreps@gmail.com>
Fri, 3 Mar 2023 23:19:33 +0000 (23:19 +0000)
Replacing continue in loops to goto done so that index of packet buffer
increases.

Signed-off-by: harryreps <harryreps@gmail.com>
babeld/message.c

index 687f76844694d60775efd26eb62449755221e64a..b5c2a589848f97eab66d45686d6d50fc668f9062 100644 (file)
@@ -422,7 +422,7 @@ parse_packet(const unsigned char *from, struct interface *ifp,
                        debugf(BABEL_DEBUG_COMMON,
                               "Received Hello from %s on %s that does not have all 0's in the unused section of flags, ignoring",
                               format_address(from), ifp->name);
-                       continue;
+                       goto done;
                }
 
                /*
@@ -434,7 +434,7 @@ parse_packet(const unsigned char *from, struct interface *ifp,
                        debugf(BABEL_DEBUG_COMMON,
                               "Received Unicast Hello from %s on %s that FRR is not prepared to understand yet",
                               format_address(from), ifp->name);
-                       continue;
+                       goto done;
                }
 
                DO_NTOHS(seqno, message + 4);
@@ -452,7 +452,7 @@ parse_packet(const unsigned char *from, struct interface *ifp,
                        debugf(BABEL_DEBUG_COMMON,
                               "Received hello from %s on %s should be ignored as that this version of FRR does not know how to properly handle interval == 0",
                               format_address(from), ifp->name);
-                       continue;
+                       goto done;
                }
 
                changed = update_neighbour(neigh, seqno, interval);