diff options
| author | zmw12306 <zmw12306@gmail.com> | 2025-03-24 15:32:18 -0400 |
|---|---|---|
| committer | zmw12306 <zmw12306@gmail.com> | 2025-03-24 15:32:18 -0400 |
| commit | 3b5d4212074fa15404a221e1bce2a75deda8ca89 (patch) | |
| tree | b42e3d8aca6a17a27e1f4b533b550fea2406b005 /babeld | |
| parent | 44c4743e08710fd9dda12105ff6fbec2547faf51 (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.c | 4 |
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) |
