avfilter/avf_ahistogram: check if frame clone is set
authorPaul B Mahol <onemda@gmail.com>
Tue, 14 Jan 2020 15:38:49 +0000 (16:38 +0100)
committerPaul B Mahol <onemda@gmail.com>
Tue, 14 Jan 2020 15:52:07 +0000 (16:52 +0100)
libavfilter/avf_ahistogram.c

index a0931bf..92cda46 100644 (file)
@@ -163,6 +163,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
     const int w = s->w;
     int c, y, n, p, bin;
     uint64_t acmax = 1;
+    AVFrame *clone;
 
     if (!s->out || s->out->width  != outlink->w ||
                    s->out->height != outlink->h) {
@@ -363,7 +364,11 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
             s->ypos = H;
     }
 
-    return ff_filter_frame(outlink, av_frame_clone(s->out));
+    clone = av_frame_clone(s->out);
+    if (!clone)
+        return AVERROR(ENOMEM);
+
+    return ff_filter_frame(outlink, clone);
 }
 
 static int activate(AVFilterContext *ctx)