lavfi/buffersrc: do not dereference NULL frame.
authorNicolas George <nicolas.george@normalesup.org>
Sun, 10 Mar 2013 15:28:33 +0000 (16:28 +0100)
committerNicolas George <nicolas.george@normalesup.org>
Sun, 10 Mar 2013 16:05:55 +0000 (17:05 +0100)
frame = NULL is used to indicate EOF.

libavfilter/buffersrc.c

index 185018d..be860aa 100644 (file)
@@ -93,9 +93,9 @@ int av_buffersrc_add_frame_flags(AVFilterContext *ctx, AVFrame *frame, int flags
 {
     AVFrame *copy = NULL;
     int ret = 0;
-    int64_t layout = frame->channel_layout;
 
-    if (layout && av_get_channel_layout_nb_channels(layout) != av_frame_get_channels(frame)) {
+    if (frame && frame->channel_layout &&
+        av_get_channel_layout_nb_channels(frame->channel_layout) != av_frame_get_channels(frame)) {
         av_log(0, AV_LOG_ERROR, "Layout indicates a different number of channels than actually present\n");
         return AVERROR(EINVAL);
     }