diff --git a/thirdparty/tas/hdlc.c b/thirdparty/tas/hdlc.c index 296c8988..895bad7a 100644 --- a/thirdparty/tas/hdlc.c +++ b/thirdparty/tas/hdlc.c @@ -67,6 +67,7 @@ int hdlc_remove_framing_with_crc_check(const uint8_t *src, size_t slen, uint8_t *dlen = 0; if (slen < 4) return -1; if ((src[tlen] != 0x7E) && (src[slen-1] != 0x7C)) return -2; + src++; for (ii = 1; ii < slen-1; ii++) { bt = *src++; @@ -74,6 +75,7 @@ int hdlc_remove_framing_with_crc_check(const uint8_t *src, size_t slen, uint8_t if (bt == 0x7D) { bt = *src++ ^ 0x20; + ii++; } dst[tlen++] = bt; }