mirror of https://git.ffmpeg.org/ffmpeg.git
eacmv: clear references on frame dimensions change
Fixes invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
This commit is contained in:
parent
0e830094ad
commit
5430839144
|
@ -141,6 +141,12 @@ static int cmv_process_header(CmvContext *s, const uint8_t *buf, const uint8_t *
|
||||||
s->width = AV_RL16(&buf[4]);
|
s->width = AV_RL16(&buf[4]);
|
||||||
s->height = AV_RL16(&buf[6]);
|
s->height = AV_RL16(&buf[6]);
|
||||||
|
|
||||||
|
if (s->width != s->avctx->width ||
|
||||||
|
s->height != s->avctx->height) {
|
||||||
|
av_frame_unref(s->last_frame);
|
||||||
|
av_frame_unref(s->last2_frame);
|
||||||
|
}
|
||||||
|
|
||||||
ret = ff_set_dimensions(s->avctx, s->width, s->height);
|
ret = ff_set_dimensions(s->avctx, s->width, s->height);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Reference in New Issue