Diff between 0f539bbfa6a4b81a48d3efe69e645a6214891e2d and e1c125dcead52a128fd86c256f8d007373cdacff
Changed Files
| File | Additions | Deletions | Status |
| src/shared/btsnoop.c | +5 | -0 | modified |
Full Patch
diff --git a/src/shared/btsnoop.c b/src/shared/btsnoop.c
index 17a872c..3592c2e 100644
--- a/src/shared/btsnoop.c
+++ b/src/shared/btsnoop.c
@@ -415,6 +415,11 @@ bool btsnoop_read_hci(struct btsnoop *btsnoop, struct timeval *tv,
}
toread = be32toh(pkt.size);
+ if (toread > BTSNOOP_MAX_PACKET_SIZE) {
+ btsnoop->aborted = true;
+ return false;
+ }
+
flags = be32toh(pkt.flags);
ts = be64toh(pkt.ts) - 0x00E03AB44A676000ll;