mirror of https://git.ffmpeg.org/ffmpeg.git
dvdsubdec: Do not leak on failure path
CC: libav-stable@libav.org
Bug-Id: CID 1198262
(cherry picked from commit d466d82faa
)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This commit is contained in:
parent
e9aeaa6441
commit
5891fd017a
|
@ -503,6 +503,7 @@ static av_cold int dvdsub_init(AVCodecContext *avctx)
|
|||
{
|
||||
DVDSubContext *ctx = avctx->priv_data;
|
||||
char *data, *cur;
|
||||
int ret = 0;
|
||||
|
||||
if (!avctx->extradata || !avctx->extradata_size)
|
||||
return 0;
|
||||
|
@ -527,16 +528,18 @@ static av_cold int dvdsub_init(AVCodecContext *avctx)
|
|||
} else if (!strncmp("size:", cur, 5)) {
|
||||
int w, h;
|
||||
if (sscanf(cur + 5, "%dx%d", &w, &h) == 2) {
|
||||
int ret = ff_set_dimensions(avctx, w, h);
|
||||
ret = ff_set_dimensions(avctx, w, h);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
cur += strcspn(cur, "\n\r");
|
||||
cur += strspn(cur, "\n\r");
|
||||
}
|
||||
|
||||
fail:
|
||||
av_free(data);
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
AVCodec ff_dvdsub_decoder = {
|
||||
|
|
Loading…
Reference in New Issue