diff options
author | Limin Wang <lance.lmwang@gmail.com> | 2022-04-10 22:20:04 +0800 |
---|---|---|
committer | Limin Wang <lance.lmwang@gmail.com> | 2022-05-19 21:17:31 +0800 |
commit | 8e828ee1add997ff3d1ca5539773a15df6b9f05e (patch) | |
tree | 5a8846740812f0071de9846a844ccfc6582a9d4b | |
parent | 4607868b98715929b8f87b7231cf60ae66f13aa6 (diff) |
avformat/sccenc: avoid potential invalid access
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
-rw-r--r-- | libavformat/sccenc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/sccenc.c b/libavformat/sccenc.c index c8c4d097e4..2b924ba6e7 100644 --- a/libavformat/sccenc.c +++ b/libavformat/sccenc.c @@ -72,11 +72,11 @@ static int scc_write_packet(AVFormatContext *avf, AVPacket *pkt) s = (int)(pts / 1000) % 60; f = (int)(pts % 1000) / 33; - for (i = 0; i < pkt->size; i+=3) { + for (i = 0; i < pkt->size - 2; i+=3) { if (pkt->data[i] == 0xfc && ((pkt->data[i + 1] != 0x80 || pkt->data[i + 2] != 0x80))) break; } - if (i >= pkt->size) + if (i >= pkt->size - 2) return 0; if (!scc->inside && (scc->prev_h != h || scc->prev_m != m || scc->prev_s != s || scc->prev_f != f)) { |