diff --git a/monitor/packet.c b/monitor/packet.c
index f7b4c40..914eaed 100644
--- a/monitor/packet.c
+++ b/monitor/packet.c
break;
case 0x01:
+ if (size < 2) {
+ print_text(COLOR_ERROR, " invalid parameter size");
+ break;
+ }
filter = *((const uint8_t *) (data + 1));
switch (filter) {
break;
}
+ if (size < 2) {
+ print_text(COLOR_ERROR, " invalid parameter size");
+ break;
+ }
+
print_field("Filter: %s (0x%2.2x)", str, filter);
packet_hexdump(data + 2, size - 2);
break;
default:
+ if (size < 2) {
+ print_text(COLOR_ERROR, " invalid parameter size");
+ break;
+ }
+
filter = *((const uint8_t *) (data + 1));
print_field("Filter: Reserved (0x%2.2x)", filter);