aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2019-09-22 23:55:49 -0300
committerJames Almer <jamrial@gmail.com>2019-09-23 10:11:02 -0300
commit11cce24e04e186e29360fd0142db4f2af461c5b6 (patch)
tree5aab6bc90f12ba61bb07c70a235a3b5336dff935 /libavcodec
parent60094fc2f552aace794395648110408a6eb825ad (diff)
downloadffmpeg-11cce24e04e186e29360fd0142db4f2af461c5b6.tar.gz
avcodec/bsf: check that AVBSFInternal was allocated before dereferencing it
This can happen when av_bsf_free() is called on av_bsf_alloc() failure. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com> (cherry picked from commit d889ae33962e4ad2b24175418fe89d72ce712179)
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/bsf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/bsf.c b/libavcodec/bsf.c
index 03841da682..58c184e22a 100644
--- a/libavcodec/bsf.c
+++ b/libavcodec/bsf.c
@@ -47,7 +47,8 @@ void av_bsf_free(AVBSFContext **pctx)
av_opt_free(ctx);
- av_packet_free(&ctx->internal->buffer_pkt);
+ if (ctx->internal)
+ av_packet_free(&ctx->internal->buffer_pkt);
av_freep(&ctx->internal);
av_freep(&ctx->priv_data);