From 8a1e1a8c952f681d0d20ba9ae16f117940e16965 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Tue, 26 Sep 2017 14:41:57 +0200 Subject: Fix error in DAT package sent for empty packages Also made sure that if this happens again monitor.cc should at least not hang but assert and break instead --- src/monitor.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/monitor.cc') diff --git a/src/monitor.cc b/src/monitor.cc index cffe3d5..b2157f7 100644 --- a/src/monitor.cc +++ b/src/monitor.cc @@ -164,6 +164,11 @@ private: size_t offset = 0; while (offset + 5 < package_fill_) { uint16_t size = read_u16(package_ + offset + 3); + if (size == 0) { + assert(false); + offset += 5; + break; + } if (offset + size > package_fill_) break; size_t o = 5; if (size >= 3 && memcmp(package_ + offset, "PKG", 3) == 0) { -- cgit v1.2.3-70-g09d2