From: Jaroslav Kysela Date: Tue, 29 Dec 2015 10:48:44 +0000 (+0100) Subject: parsers: AAC fix endless loop when ADTS data are invalid, fixes #3381 X-Git-Tag: v4.2.1~1273 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b480c92c0e0c78af3136ba6483b22c7e8b67d685;p=thirdparty%2Ftvheadend.git parsers: AAC fix endless loop when ADTS data are invalid, fixes #3381 --- diff --git a/src/parsers/parsers.c b/src/parsers/parsers.c index 7db1cdd87..621fb05f8 100644 --- a/src/parsers/parsers.c +++ b/src/parsers/parsers.c @@ -317,6 +317,12 @@ parse_aac(service_t *t, elementary_stream_t *st, const uint8_t *data, if (l < muxlen) break; + if (muxlen < 7) { + tvhtrace("parser", "AAC/ATDS skip byte %02x", d[0]); + p++; + continue; + } + latm = 0; sbuf_reset(&st->es_buf_a, 4000); sbuf_append(&st->es_buf_a, d, muxlen);