- if (len < 0) {
- ND_PRINT("%sDissector error: print_unknown_data called with negative length",
- ident);
- return(0);
- }
- if (ndo->ndo_snapend - cp < len)
- len = ndo->ndo_snapend - cp;
- if (len < 0) {
- ND_PRINT("%sDissector error: print_unknown_data called with pointer past end of packet",
+ u_int len_to_print;
+
+ len_to_print = len;
+ if (!ND_TTEST_LEN(cp, 0)) {
+ ND_PRINT("%sDissector error: print_unknown_data called with pointer past end of packet",