libavfilter/vf_gradfun.c:171: error: Null Dereference
  pointer `desc` last assigned on line 170 could be null and is dereferenced at line 171, column 16.

libavfilter/vf_gradfun.c:167:1: start of procedure config_input()
165. }
166. 
167. static int config_input(AVFilterLink *inlink)
     ^
168. {
169.     GradFunContext *gf = inlink->dst->priv;

libavfilter/vf_gradfun.c:169:5: 
167. static int config_input(AVFilterLink *inlink)
168. {
169.     GradFunContext *gf = inlink->dst->priv;
         ^
170.     const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format);
171.     int hsub = desc->log2_chroma_w;

libavfilter/vf_gradfun.c:170:5: 
168. {
169.     GradFunContext *gf = inlink->dst->priv;
170.     const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format);
         ^
171.     int hsub = desc->log2_chroma_w;
172.     int vsub = desc->log2_chroma_h;

libavutil/pixdesc.c:1199:1: start of procedure av_pix_fmt_desc_get()
  1197. }
  1198. 
  1199. const AVPixFmtDescriptor *av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
        ^
  1200. {
  1201.     if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)

libavutil/pixdesc.c:1201:9: Taking false branch
  1199. const AVPixFmtDescriptor *av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
  1200. {
  1201.     if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)
                ^
  1202.         return NULL;
  1203.     return &av_pix_fmt_descriptors[pix_fmt];

libavutil/pixdesc.c:1201:24: Taking true branch
  1199. const AVPixFmtDescriptor *av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
  1200. {
  1201.     if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)
                               ^
  1202.         return NULL;
  1203.     return &av_pix_fmt_descriptors[pix_fmt];

libavutil/pixdesc.c:1202:9: 
  1200. {
  1201.     if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)
  1202.         return NULL;
                ^
  1203.     return &av_pix_fmt_descriptors[pix_fmt];
  1204. }

libavutil/pixdesc.c:1204:1: return from a call to av_pix_fmt_desc_get
  1202.         return NULL;
  1203.     return &av_pix_fmt_descriptors[pix_fmt];
  1204. }
        ^
  1205. 
  1206. const AVPixFmtDescriptor *av_pix_fmt_desc_next(const AVPixFmtDescriptor *prev)

libavfilter/vf_gradfun.c:171:5: 
169.     GradFunContext *gf = inlink->dst->priv;
170.     const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format);
171.     int hsub = desc->log2_chroma_w;
         ^
172.     int vsub = desc->log2_chroma_h;
173. 

static int config_input(AVFilterLink *inlink)
{
    GradFunContext *gf = inlink->dst->priv;
    const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format);
    int hsub = desc->log2_chroma_w;
    int vsub = desc->log2_chroma_h;
    gf->buf = av_mallocz((FFALIGN(inlink->w, 16) * (gf->radius + 1) / 2 + 32) * sizeof(uint16_t));
    if (!gf->buf)
        return AVERROR(ENOMEM);
    gf->chroma_w = -((-inlink->w) >> hsub);
    gf->chroma_h = -((-inlink->h) >> vsub);
    gf->chroma_r = av_clip(((((gf->radius >> hsub) + (gf->radius >> vsub)) / 2 ) + 1) & ~1, 4, 32);
    return 0;
}
['static int config_input(AVFilterLink *inlink)\n{\n    GradFunContext *gf = inlink->dst->priv;\n    const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format);\n    int hsub = desc->log2_chroma_w;\n    int vsub = desc->log2_chroma_h;\n    gf->buf = av_mallocz((FFALIGN(inlink->w, 16) * (gf->radius + 1) / 2 + 32) * sizeof(uint16_t));\n    if (!gf->buf)\n        return AVERROR(ENOMEM);\n    gf->chroma_w = -((-inlink->w) >> hsub);\n    gf->chroma_h = -((-inlink->h) >> vsub);\n    gf->chroma_r = av_clip(((((gf->radius >> hsub) + (gf->radius >> vsub)) / 2 ) + 1) & ~1, 4, 32);\n    return 0;\n}', 'const AVPixFmtDescriptor *av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)\n{\n    if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)\n        return NULL;\n    return &av_pix_fmt_descriptors[pix_fmt];\n}']