summaryrefslogtreecommitdiff
path: root/libavcodec/mpeg4_unpack_bframes_bsf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/mpeg4_unpack_bframes_bsf.c')
-rw-r--r--libavcodec/mpeg4_unpack_bframes_bsf.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavcodec/mpeg4_unpack_bframes_bsf.c b/libavcodec/mpeg4_unpack_bframes_bsf.c
index aee8ccbf62..e227f58ec6 100644
--- a/libavcodec/mpeg4_unpack_bframes_bsf.c
+++ b/libavcodec/mpeg4_unpack_bframes_bsf.c
@@ -126,7 +126,11 @@ static int mpeg4_unpack_bframes_filter(AVBSFContext *ctx, AVPacket *out)
return ret;
}
- av_packet_from_data(out, s->b_frame_buf, s->b_frame_buf_size);
+ ret = av_packet_from_data(out, s->b_frame_buf, s->b_frame_buf_size);
+ if (ret < 0) {
+ av_packet_free(&in);
+ return ret;
+ }
if (in->size <= MAX_NVOP_SIZE) {
/* N-VOP */
av_log(ctx, AV_LOG_DEBUG, "Skipping N-VOP.\n");