diff --git a/print-rpki-rtr.c b/print-rpki-rtr.c
index 8679759..341a1ca 100644
--- a/print-rpki-rtr.c
+++ b/print-rpki-rtr.c
@@ -184,6 +184,7 @@ rpki_rtr_pdu_print (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);
+    TCHECK2(tptr, pdu_len);
     hexdump = FALSE;
 
     printf("%sRPKI-RTRv%u, %s PDU (%u), length: %u",
@@ -312,6 +313,11 @@ rpki_rtr_pdu_print (const u_char *tptr, u_int indent)
     if (vflag > 1 || (vflag && hexdump)) {
 	print_unknown_data(tptr,"\n\t  ", pdu_len);
     }
+    return;
+
+ trunc:
+    printf("|trunc");
+    return;
 }
 
 void
