summaryrefslogtreecommitdiffstats
path: root/contrib/tcpdump/print-atm.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tcpdump/print-atm.c')
-rw-r--r--contrib/tcpdump/print-atm.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/contrib/tcpdump/print-atm.c b/contrib/tcpdump/print-atm.c
index e679f74..b0fd6c2 100644
--- a/contrib/tcpdump/print-atm.c
+++ b/contrib/tcpdump/print-atm.c
@@ -272,10 +272,12 @@ sig_print(const u_char *p, int caplen)
printf(":%s ",
tok2str(msgtype2str, "msgtype#%d", p[MSG_TYPE_POS]));
- if (caplen < CALL_REF_POS+3) {
- printf("[|atm]");
- return;
- }
+ /*
+ * The call reference comes before the message type,
+ * so if we know we have the message type, which we
+ * do from the caplen test above, we also know we have
+ * the call reference.
+ */
call_ref = EXTRACT_24BITS(&p[CALL_REF_POS]);
printf("CALL_REF:0x%06x", call_ref);
} else {
OpenPOWER on IntegriCloud