mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
hevc: Search start code in decode_nal_units().
User may cut off a weird position and send a packet from there. This avoids returning as invalid data immediately.
This commit is contained in:
parent
610a8b1537
commit
f7f8801839
@ -2325,14 +2325,15 @@ static int decode_nal_units(HEVCContext *s, const uint8_t *buf, int length)
|
|||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (buf[2] == 0) {
|
/* search start code */
|
||||||
length--;
|
while (buf[0] != 0 || buf[1] != 0 || buf[2] != 1) {
|
||||||
buf++;
|
++buf;
|
||||||
continue;
|
--length;
|
||||||
}
|
if (length < 4) {
|
||||||
if (buf[0] != 0 || buf[1] != 0 || buf[2] != 1) {
|
av_log(s->avctx, AV_LOG_ERROR, "No start code is found.\n");
|
||||||
ret = AVERROR_INVALIDDATA;
|
ret = AVERROR_INVALIDDATA;
|
||||||
goto fail;
|
goto fail;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
buf += 3;
|
buf += 3;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user