zeek/testing/btest/scripts/base/protocols/modbus/length_mismatch.bro

15 lines
708 B
Text

# The parser generated by BinPAC needs to handle this pcap without crashing
# or asserting. Specifically, pasing Function Code 23,
# ReadWriteMultipleRegistersRequest, has a field:
#
# uint16[write_quantity] &length=write_byte_count;
#
# And the pcap has mismatching values for those quantities.
# The use of &length on arrays previously caused array elements to
# be treated as already having a bounds check in the parsing-loop, which
# is problematic in the case where (write_quantity * 2) > write_byte_count
# as that can cause reading from a location that exceeds the end of the
# data buffer.
# @TEST-EXEC: bro -r $TRACES/modbus/4SICS-GeekLounge-151022-min.pcap
# @TEST-EXEC: btest-diff weird.log