On Sun, Jul 4, 2021 at 1:28 PM <ojeda@xxxxxxxxxx> wrote: > > > + /* If zero, it is a "big" symbol, so a two byte length follows. */ > + if (len == 0) { > + len = (data[0] << 8) | data[1]; > + data += 2; > + off += len + 2; > + } Side note: it might be a good idea at this point to verify that "len" is >255. Also, why is this in big-endian order? Let's just try to kill big-endian data, it's disgusting and should just die already. BE is practically dead anyway, we shouldn't add new cases. Networking has legacy reasons from the bad old days when byte order wars were still a thing, but those days are gone. Linus