summaryrefslogtreecommitdiff
path: root/babeld
diff options
context:
space:
mode:
authorzmw12306 <zmw12306@gmail.com>2025-03-24 15:32:18 -0400
committerzmw12306 <zmw12306@gmail.com>2025-03-24 15:32:18 -0400
commit3b5d4212074fa15404a221e1bce2a75deda8ca89 (patch)
treeb42e3d8aca6a17a27e1f4b533b550fea2406b005 /babeld
parent44c4743e08710fd9dda12105ff6fbec2547faf51 (diff)
babeld: Hop Count must not be 0.
According to RFC 8966: Hop Count The maximum number of times that this TLV may be forwarded, plus 1. This MUST NOT be 0. Signed-off-by: zmw12306 <zmw12306@gmail.com>
Diffstat (limited to 'babeld')
-rw-r--r--babeld/message.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/babeld/message.c b/babeld/message.c
index 5a33d5c288..15022093c5 100644
--- a/babeld/message.c
+++ b/babeld/message.c
@@ -693,6 +693,10 @@ parse_packet(const unsigned char *from, struct interface *ifp,
memcpy(src_prefix, zeroes, 16);
src_plen = 0;
}
+ if(message[6] == 0) {
+ debugf(BABEL_DEBUG_COMMON, "Received seqno request with invalid hop count 0");
+ goto done;
+ }
rc = parse_request_subtlv(message[2], message + 4 + rc,
len - 2 - rc, src_prefix, &src_plen);
if(rc < 0)