From 35e483e312773af29792193ab591e9b32ffd6ef2 Mon Sep 17 00:00:00 2001 From: ErikBrown2 <32511867+ErikBrown2@users.noreply.github.com> Date: Sun, 30 Aug 2026 12:45:01 +0200 Subject: [PATCH] Fix ADVERT_PATH parsing of zero bytes Preserve valid 0x00 bytes in ADVERT_PATH data by reading the exact number of path bytes instead of stripping all zero bytes. --- src/meshcore/reader.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/meshcore/reader.py b/src/meshcore/reader.py index dc9ff90..002d1b8 100644 --- a/src/meshcore/reader.py +++ b/src/meshcore/reader.py @@ -149,7 +149,8 @@ class MessageReader: else: r["path_hash_mode"] = plen >> 6 # 2 upper bytes r["path_len"] = plen & 0x3F - r["path"] = dbuf.read().replace(b"\0", b"").hex() + path_byte_count = r["path_len"] * (r["path_hash_mode"] + 1) + r["path"] = dbuf.read(path_byte_count).hex() await self.dispatcher.dispatch(Event(EventType.ADVERT_PATH, r))