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

libavfilter/avfilter.c:271:1: start of procedure avfilter_get_video_buffer()
269. }
270. 
271. AVFilterBufferRef *avfilter_get_video_buffer(AVFilterLink *link, int perms, int w, int h)
     ^
272. {
273.     AVFilterBufferRef *ret = NULL;

libavfilter/avfilter.c:273:5: 
271. AVFilterBufferRef *avfilter_get_video_buffer(AVFilterLink *link, int perms, int w, int h)
272. {
273.     AVFilterBufferRef *ret = NULL;
         ^
274. 
275.     av_unused char buf[16];

libavfilter/avfilter.c:276:47: 
274. 
275.     av_unused char buf[16];
276.     FF_DPRINTF_START(NULL, get_video_buffer); ff_dprintf_link(NULL, link, 0);
                                                   ^
277.     dprintf(NULL, " perms:%s w:%d h:%d\n", ff_get_ref_perms_string(buf, sizeof(buf), perms), w, h);
278. 

libavfilter/avfilter.c:247:1: start of procedure ff_dprintf_link()
  245. }
  246. 
  247. void ff_dprintf_link(void *ctx, AVFilterLink *link, int end)
       ^
  248. {
  249.     if (link->type == AVMEDIA_TYPE_VIDEO) {

libavfilter/avfilter.c:249:9: Taking false branch
  247. void ff_dprintf_link(void *ctx, AVFilterLink *link, int end)
  248. {
  249.     if (link->type == AVMEDIA_TYPE_VIDEO) {
               ^
  250.         dprintf(ctx,
  251.                 "link[%p s:%dx%d fmt:%-16s %-16s->%-16s]%s",

libavfilter/avfilter.c:259:9: Skipping av_get_channel_layout_string(): empty list of specs
  257.     } else {
  258.         char buf[128];
  259.         av_get_channel_layout_string(buf, sizeof(buf), -1, link->channel_layout);
               ^
  260. 
  261.         dprintf(ctx,

libavfilter/avfilter.c:249:5: 
  247. void ff_dprintf_link(void *ctx, AVFilterLink *link, int end)
  248. {
  249.     if (link->type == AVMEDIA_TYPE_VIDEO) {
           ^
  250.         dprintf(ctx,
  251.                 "link[%p s:%dx%d fmt:%-16s %-16s->%-16s]%s",

libavfilter/avfilter.c:269:1: return from a call to ff_dprintf_link
  267.                 end ? "\n" : "");
  268.     }
  269. }
       ^
  270. 
  271. AVFilterBufferRef *avfilter_get_video_buffer(AVFilterLink *link, int perms, int w, int h)

libavfilter/avfilter.c:279:9: Taking true branch
277.     dprintf(NULL, " perms:%s w:%d h:%d\n", ff_get_ref_perms_string(buf, sizeof(buf), perms), w, h);
278. 
279.     if (link->dstpad->get_video_buffer)
             ^
280.         ret = link->dstpad->get_video_buffer(link, perms, w, h);
281. 

libavfilter/avfilter.c:280:9: Skipping __function_pointer__(): unresolved function pointer
278. 
279.     if (link->dstpad->get_video_buffer)
280.         ret = link->dstpad->get_video_buffer(link, perms, w, h);
             ^
281. 
282.     if (!ret)

libavfilter/avfilter.c:282:10: Taking true branch
280.         ret = link->dstpad->get_video_buffer(link, perms, w, h);
281. 
282.     if (!ret)
              ^
283.         ret = avfilter_default_get_video_buffer(link, perms, w, h);
284. 

libavfilter/avfilter.c:283:9: Skipping avfilter_default_get_video_buffer(): empty list of specs
281. 
282.     if (!ret)
283.         ret = avfilter_default_get_video_buffer(link, perms, w, h);
             ^
284. 
285.     if (ret)

libavfilter/avfilter.c:285:9: Taking false branch
283.         ret = avfilter_default_get_video_buffer(link, perms, w, h);
284. 
285.     if (ret)
             ^
286.         ret->type = AVMEDIA_TYPE_VIDEO;
287. 

libavfilter/avfilter.c:288:47: 
286.         ret->type = AVMEDIA_TYPE_VIDEO;
287. 
288.     FF_DPRINTF_START(NULL, get_video_buffer); ff_dprintf_link(NULL, link, 0); dprintf(NULL, " returning "); ff_dprintf_ref(NULL, ret, 1);
                                                   ^
289. 
290.     return ret;

libavfilter/avfilter.c:247:1: start of procedure ff_dprintf_link()
  245. }
  246. 
  247. void ff_dprintf_link(void *ctx, AVFilterLink *link, int end)
       ^
  248. {
  249.     if (link->type == AVMEDIA_TYPE_VIDEO) {

libavfilter/avfilter.c:249:9: Taking false branch
  247. void ff_dprintf_link(void *ctx, AVFilterLink *link, int end)
  248. {
  249.     if (link->type == AVMEDIA_TYPE_VIDEO) {
               ^
  250.         dprintf(ctx,
  251.                 "link[%p s:%dx%d fmt:%-16s %-16s->%-16s]%s",

libavfilter/avfilter.c:259:9: Skipping av_get_channel_layout_string(): empty list of specs
  257.     } else {
  258.         char buf[128];
  259.         av_get_channel_layout_string(buf, sizeof(buf), -1, link->channel_layout);
               ^
  260. 
  261.         dprintf(ctx,

libavfilter/avfilter.c:249:5: 
  247. void ff_dprintf_link(void *ctx, AVFilterLink *link, int end)
  248. {
  249.     if (link->type == AVMEDIA_TYPE_VIDEO) {
           ^
  250.         dprintf(ctx,
  251.                 "link[%p s:%dx%d fmt:%-16s %-16s->%-16s]%s",

libavfilter/avfilter.c:269:1: return from a call to ff_dprintf_link
  267.                 end ? "\n" : "");
  268.     }
  269. }
       ^
  270. 
  271. AVFilterBufferRef *avfilter_get_video_buffer(AVFilterLink *link, int perms, int w, int h)

libavfilter/avfilter.c:288:109: 
286.         ret->type = AVMEDIA_TYPE_VIDEO;
287. 
288.     FF_DPRINTF_START(NULL, get_video_buffer); ff_dprintf_link(NULL, link, 0); dprintf(NULL, " returning "); ff_dprintf_ref(NULL, ret, 1);
                                                                                                                 ^
289. 
290.     return ret;

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

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