libavfilter/avfilter.c:273: error: Null Dereference
  pointer `ret` last assigned on line 268 could be null and is dereferenced by call to `ff_dprintf_ref()` at line 273, column 109.

libavfilter/avfilter.c:256:1: start of procedure avfilter_get_video_buffer()
254. }
255. 
256. AVFilterBufferRef *avfilter_get_video_buffer(AVFilterLink *link, int perms, int w, int h)
     ^
257. {
258.     AVFilterBufferRef *ret = NULL;

libavfilter/avfilter.c:258:5: 
256. AVFilterBufferRef *avfilter_get_video_buffer(AVFilterLink *link, int perms, int w, int h)
257. {
258.     AVFilterBufferRef *ret = NULL;
         ^
259. 
260.     av_unused char buf[16];

libavfilter/avfilter.c:261:47: 
259. 
260.     av_unused char buf[16];
261.     FF_DPRINTF_START(NULL, get_video_buffer); ff_dprintf_link(NULL, link, 0);
                                                   ^
262.     dprintf(NULL, " perms:%s w:%d h:%d\n", ff_get_ref_perms_string(buf, sizeof(buf), perms), w, h);
263. 

libavfilter/avfilter.c:245:1: start of procedure ff_dprintf_link()
  243. }
  244. 
  245. void ff_dprintf_link(void *ctx, AVFilterLink *link, int end)
       ^
  246. {
  247.     dprintf(ctx,

libavfilter/avfilter.c:254:1: return from a call to ff_dprintf_link
  252.             link->dst ? link->dst->filter->name : "",
  253.             end ? "\n" : "");
  254. }
       ^
  255. 
  256. AVFilterBufferRef *avfilter_get_video_buffer(AVFilterLink *link, int perms, int w, int h)

libavfilter/avfilter.c:264:9: Taking true branch
262.     dprintf(NULL, " perms:%s w:%d h:%d\n", ff_get_ref_perms_string(buf, sizeof(buf), perms), w, h);
263. 
264.     if (link->dstpad->get_video_buffer)
             ^
265.         ret = link->dstpad->get_video_buffer(link, perms, w, h);
266. 

libavfilter/avfilter.c:265:9: Skipping __function_pointer__(): unresolved function pointer
263. 
264.     if (link->dstpad->get_video_buffer)
265.         ret = link->dstpad->get_video_buffer(link, perms, w, h);
             ^
266. 
267.     if (!ret)

libavfilter/avfilter.c:267:10: Taking true branch
265.         ret = link->dstpad->get_video_buffer(link, perms, w, h);
266. 
267.     if (!ret)
              ^
268.         ret = avfilter_default_get_video_buffer(link, perms, w, h);
269. 

libavfilter/avfilter.c:268:9: Skipping avfilter_default_get_video_buffer(): empty list of specs
266. 
267.     if (!ret)
268.         ret = avfilter_default_get_video_buffer(link, perms, w, h);
             ^
269. 
270.     if (ret)

libavfilter/avfilter.c:270:9: Taking false branch
268.         ret = avfilter_default_get_video_buffer(link, perms, w, h);
269. 
270.     if (ret)
             ^
271.         ret->type = AVMEDIA_TYPE_VIDEO;
272. 

libavfilter/avfilter.c:273:47: 
271.         ret->type = AVMEDIA_TYPE_VIDEO;
272. 
273.     FF_DPRINTF_START(NULL, get_video_buffer); ff_dprintf_link(NULL, link, 0); dprintf(NULL, " returning "); ff_dprintf_ref(NULL, ret, 1);
                                                   ^
274. 
275.     return ret;

libavfilter/avfilter.c:245:1: start of procedure ff_dprintf_link()
  243. }
  244. 
  245. void ff_dprintf_link(void *ctx, AVFilterLink *link, int end)
       ^
  246. {
  247.     dprintf(ctx,

libavfilter/avfilter.c:254:1: return from a call to ff_dprintf_link
  252.             link->dst ? link->dst->filter->name : "",
  253.             end ? "\n" : "");
  254. }
       ^
  255. 
  256. AVFilterBufferRef *avfilter_get_video_buffer(AVFilterLink *link, int perms, int w, int h)

libavfilter/avfilter.c:273:109: 
271.         ret->type = AVMEDIA_TYPE_VIDEO;
272. 
273.     FF_DPRINTF_START(NULL, get_video_buffer); ff_dprintf_link(NULL, link, 0); dprintf(NULL, " returning "); ff_dprintf_ref(NULL, ret, 1);
                                                                                                                 ^
274. 
275.     return ret;

libavfilter/avfilter.c:217:1: start of procedure ff_dprintf_ref()
  215. }
  216. 
  217. void ff_dprintf_ref(void *ctx, AVFilterBufferRef *ref, int end)
       ^
  218. {
  219.     av_unused char buf[16];

libavfilter/avfilter.c:226:9: Taking false branch
  224.             ref->pts, ref->pos);
  225. 
  226.     if (ref->video) {
               ^
  227.         dprintf(ctx, " a:%d/%d s:%dx%d i:%c",
  228.                 ref->video->pixel_aspect.num, ref->video->pixel_aspect.den,

AVFilterBufferRef *avfilter_get_video_buffer(AVFilterLink *link, int perms, int w, int h)
{
    AVFilterBufferRef *ret = NULL;
    av_unused char buf[16];
    FF_DPRINTF_START(NULL, get_video_buffer); ff_dprintf_link(NULL, link, 0);
    dprintf(NULL, " perms:%s w:%d h:%d\n", ff_get_ref_perms_string(buf, sizeof(buf), perms), w, h);
    if (link->dstpad->get_video_buffer)
        ret = link->dstpad->get_video_buffer(link, perms, w, h);
    if (!ret)
        ret = avfilter_default_get_video_buffer(link, perms, w, h);
    if (ret)
        ret->type = AVMEDIA_TYPE_VIDEO;
    FF_DPRINTF_START(NULL, get_video_buffer); ff_dprintf_link(NULL, link, 0); dprintf(NULL, " returning "); ff_dprintf_ref(NULL, ret, 1);
    return ret;
}
['AVFilterBufferRef *avfilter_get_video_buffer(AVFilterLink *link, int perms, int w, int h)\n{\n    AVFilterBufferRef *ret = NULL;\n    av_unused char buf[16];\n    FF_DPRINTF_START(NULL, get_video_buffer); ff_dprintf_link(NULL, link, 0);\n    dprintf(NULL, " perms:%s w:%d h:%d\\n", ff_get_ref_perms_string(buf, sizeof(buf), perms), w, h);\n    if (link->dstpad->get_video_buffer)\n        ret = link->dstpad->get_video_buffer(link, perms, w, h);\n    if (!ret)\n        ret = avfilter_default_get_video_buffer(link, perms, w, h);\n    if (ret)\n        ret->type = AVMEDIA_TYPE_VIDEO;\n    FF_DPRINTF_START(NULL, get_video_buffer); ff_dprintf_link(NULL, link, 0); dprintf(NULL, " returning "); ff_dprintf_ref(NULL, ret, 1);\n    return ret;\n}', 'void ff_dprintf_link(void *ctx, AVFilterLink *link, int end)\n{\n    dprintf(ctx,\n            "link[%p s:%dx%d fmt:%-16s %-16s->%-16s]%s",\n            link, link->w, link->h,\n            av_pix_fmt_descriptors[link->format].name,\n            link->src ? link->src->filter->name : "",\n            link->dst ? link->dst->filter->name : "",\n            end ? "\\n" : "");\n}', 'void ff_dprintf_ref(void *ctx, AVFilterBufferRef *ref, int end)\n{\n    av_unused char buf[16];\n    dprintf(ctx,\n            "ref[%p buf:%p refcount:%d perms:%s data:%p linesize[%d, %d, %d, %d] pts:%"PRId64" pos:%"PRId64,\n            ref, ref->buf, ref->buf->refcount, ff_get_ref_perms_string(buf, sizeof(buf), ref->perms), ref->data[0],\n            ref->linesize[0], ref->linesize[1], ref->linesize[2], ref->linesize[3],\n            ref->pts, ref->pos);\n    if (ref->video) {\n        dprintf(ctx, " a:%d/%d s:%dx%d i:%c",\n                ref->video->pixel_aspect.num, ref->video->pixel_aspect.den,\n                ref->video->w, ref->video->h,\n                !ref->video->interlaced     ? \'P\' :\n                ref->video->top_field_first ? \'T\' : \'B\');\n    }\n    if (ref->audio) {\n        dprintf(ctx, " cl:%"PRId64"d sn:%d s:%d sr:%d p:%d",\n                ref->audio->channel_layout,\n                ref->audio->samples_nb,\n                ref->audio->size,\n                ref->audio->sample_rate,\n                ref->audio->planar);\n    }\n    dprintf(ctx, "]%s", end ? "\\n" : "");\n}']