- ND_TCHECK2(*p, sizeof(label_entry));
- label_entry = EXTRACT_32BITS(p);
+ ND_TCHECK_LEN(p, sizeof(label_entry));
+ if (length < sizeof(label_entry)) {
+ ND_PRINT((ndo, "[|MPLS], length %u", length));
+ return;
+ }
+ label_entry = EXTRACT_BE_U_4(p);