The error was:
print-lmp.c:1132:13: runtime error: unsigned integer overflow: 249 - 516
cannot be represented in type 'unsigned int'
Update the output of a test accordingly.
print_unknown_data(ndo,tptr+sizeof(struct lmp_object_header),"\n\t ",
lmp_obj_len-sizeof(struct lmp_object_header));
+ if (tlen < lmp_obj_len) {
+ ND_PRINT(" [remaining objects length %u < %u]", tlen, lmp_obj_len);
+ nd_print_invalid(ndo);
+ break;
+ }
tptr+=lmp_obj_len;
tlen-=lmp_obj_len;
}
0x01c0: 0002 0002 0000 0200 0200 0002 0002 0000
0x01d0: 0200 0200 0002 0002 0000 0200 0200 0002
0x01e0: 0002 0000 0200 0200 0002 0002 0000 0200
- 0x01f0: 0200 0002 0002 0000 0200 0200 0002 0002
- Unknown Object (0), Class-Type: Unknown (0) Flags: [non-negotiable], length: 512 [|lmp]
+ 0x01f0: 0200 0002 0002 0000 0200 0200 0002 0002 [remaining objects length 249 < 516] (invalid)