diff options
Diffstat (limited to 'libavcodec/bitstream_filter.c')
-rw-r--r-- | libavcodec/bitstream_filter.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libavcodec/bitstream_filter.c b/libavcodec/bitstream_filter.c index f524d3e..3b19bbd 100644 --- a/libavcodec/bitstream_filter.c +++ b/libavcodec/bitstream_filter.c @@ -47,9 +47,17 @@ AVBitStreamFilterContext *av_bitstream_filter_init(const char *name) if (!strcmp(name, bsf->name)) { AVBitStreamFilterContext *bsfc = av_mallocz(sizeof(AVBitStreamFilterContext)); + if (!bsfc) + return NULL; bsfc->filter = bsf; - bsfc->priv_data = - bsf->priv_data_size ? av_mallocz(bsf->priv_data_size) : NULL; + bsfc->priv_data = NULL; + if (bsf->priv_data_size) { + bsfc->priv_data = av_mallocz(bsf->priv_data_size); + if (!bsfc->priv_data) { + av_freep(&bsfc); + return NULL; + } + } return bsfc; } bsf = bsf->next; |