Skip to content

Commit 3e49644

Browse files
author
Guy Harris
committed
Based on a patch from Marc Binderberger, fix the handling of non-control
packets.
1 parent 59ce754 commit 3e49644

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

print-bfd.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -171,13 +171,17 @@ bfd_print(register const u_char *pptr, register u_int len, register u_int port)
171171
{
172172
const struct bfd_header_t *bfd_header;
173173
const struct bfd_auth_header_t *bfd_auth_header;
174-
u_int8_t version;
174+
u_int8_t version = 0;
175175

176176
bfd_header = (const struct bfd_header_t *)pptr;
177-
TCHECK(*bfd_header);
178-
version = BFD_EXTRACT_VERSION(bfd_header->version_diag);
179-
180-
switch (port << 8 | version) {
177+
if (port == BFD_CONTROL_PORT) {
178+
TCHECK(*bfd_header);
179+
version = BFD_EXTRACT_VERSION(bfd_header->version_diag);
180+
} else if (port == BFD_ECHO_PORT) {
181+
/* Echo is BFD v1 only */
182+
version = 1;
183+
}
184+
switch ((port << 8) | version) {
181185

182186
/* BFDv0 */
183187
case (BFD_CONTROL_PORT << 8):

0 commit comments

Comments
 (0)