diff options
Diffstat (limited to 'print-rpki-rtr.c')
-rw-r--r-- | print-rpki-rtr.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/print-rpki-rtr.c b/print-rpki-rtr.c index 101e41da..da55dd36 100644 --- a/print-rpki-rtr.c +++ b/print-rpki-rtr.c @@ -178,6 +178,7 @@ rpki_rtr_pdu_print (netdissect_options *ndo, const u_char *tptr, u_int indent) pdu_header = (rpki_rtr_pdu *)tptr; pdu_type = pdu_header->pdu_type; pdu_len = EXTRACT_32BITS(pdu_header->length); + ND_TCHECK2(tptr, pdu_len); hexdump = FALSE; ND_PRINT((ndo, "%sRPKI-RTRv%u, %s PDU (%u), length: %u", @@ -286,6 +287,7 @@ rpki_rtr_pdu_print (netdissect_options *ndo, const u_char *tptr, u_int indent) tptr += 4; tlen -= 4; } + printf("text_length: %u tlen %u\n", text_length, tlen); if (text_length && (text_length <= tlen )) { memcpy(buf, tptr, min(sizeof(buf)-1, text_length)); buf[text_length] = '\0'; @@ -306,6 +308,11 @@ rpki_rtr_pdu_print (netdissect_options *ndo, const u_char *tptr, u_int indent) if (ndo->ndo_vflag > 1 || (ndo->ndo_vflag && hexdump)) { print_unknown_data(ndo,tptr,"\n\t ", pdu_len); } + return; + + trunc: + ND_PRINT((ndo, "|trunc")); + return; } void |