libavcodec/jpeg2000dec.c:1115: error: Buffer Overrun L3
  Offset: [-1, +oo] Size: 32 by call to `ff_dwt_decode`.

libavcodec/jpeg2000dec.c:1115:9: Call
1113. 
1114.         /* inverse DWT */
1115.         ff_dwt_decode(&comp->dwt, codsty->transform == FF_DWT97 ? (void*)comp->f_data : (void*)comp->i_data);
              ^
1116.     } /*end comp */
1117. }

libavcodec/jpeg2000dwt.c:335:1: Parameter `s->ndeclevels`
  333. }
  334. 
  335. int ff_dwt_decode(DWTContext *s, void *t)
       ^
  336. {
  337.     switch (s->type) {

libavcodec/jpeg2000dec.c:1115:9: Call
1113. 
1114.         /* inverse DWT */
1115.         ff_dwt_decode(&comp->dwt, codsty->transform == FF_DWT97 ? (void*)comp->f_data : (void*)comp->i_data);
              ^
1116.     } /*end comp */
1117. }

libavcodec/jpeg2000dwt.c:335:1: Parameter `s->ndeclevels`
  333. }
  334. 
  335. int ff_dwt_decode(DWTContext *s, void *t)
       ^
  336. {
  337.     switch (s->type) {

libavcodec/jpeg2000dwt.c:345:9: Call
  343.         break;
  344.     case FF_DWT53:
  345.         dwt_decode53(s, t);
               ^
  346.         break;
  347.     default:

libavcodec/jpeg2000dwt.c:98:1: <Offset trace>
 96. }
 97. 
 98. static void dwt_decode53(DWTContext *s, int *t)
     ^
 99. {
100.     int lev;

libavcodec/jpeg2000dwt.c:98:1: Parameter `s->ndeclevels`
     96. }
     97. 
     98. static void dwt_decode53(DWTContext *s, int *t)
         ^
     99. {
    100.     int lev;

libavcodec/jpeg2000dwt.c:98:1: <Length trace>
 96. }
 97. 
 98. static void dwt_decode53(DWTContext *s, int *t)
     ^
 99. {
100.     int lev;

libavcodec/jpeg2000dwt.c:98:1: Parameter `s->linelen[*]`
     96. }
     97. 
     98. static void dwt_decode53(DWTContext *s, int *t)
         ^
     99. {
    100.     int lev;

libavcodec/jpeg2000dwt.c:101:17: Array access: Offset: [-1, +oo] Size: 32 by call to `ff_dwt_decode` 
     99. {
    100.     int lev;
    101.     int w     = s->linelen[s->ndeclevels - 1][0];
                         ^
    102.     int32_t *line = s->i_linebuf;
    103.     line += 3;

static void dwt_decode53(DWTContext *s, int *t)
{
    int lev;
    int w     = s->linelen[s->ndeclevels - 1][0];
    int32_t *line = s->i_linebuf;
    line += 3;
    for (lev = 0; lev < s->ndeclevels; lev++) {
        int lh = s->linelen[lev][0],
            lv = s->linelen[lev][1],
            mh = s->mod[lev][0],
            mv = s->mod[lev][1],
            lp;
        int *l;
        l = line + mh;
        for (lp = 0; lp < lv; lp++) {
            int i, j = 0;
            for (i = mh; i < lh; i += 2, j++)
                l[i] = t[w * lp + j];
            for (i = 1 - mh; i < lh; i += 2, j++)
                l[i] = t[w * lp + j];
            sr_1d53(line, mh, mh + lh);
            for (i = 0; i < lh; i++)
                t[w * lp + i] = l[i];
        }
        l = line + mv;
        for (lp = 0; lp < lh; lp++) {
            int i, j = 0;
            for (i = mv; i < lv; i += 2, j++)
                l[i] = t[w * j + lp];
            for (i = 1 - mv; i < lv; i += 2, j++)
                l[i] = t[w * j + lp];
            sr_1d53(line, mv, mv + lv);
            for (i = 0; i < lv; i++)
                t[w * i + lp] = l[i];
        }
    }
}
['static void tile_codeblocks(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile)\n{\n    Jpeg2000T1Context t1;\n    int compno, reslevelno, bandno;\n    for (compno = 0; compno < s->ncomponents; compno++) {\n        Jpeg2000Component *comp     = tile->comp + compno;\n        Jpeg2000CodingStyle *codsty = tile->codsty + compno;\n        for (reslevelno = 0; reslevelno < codsty->nreslevels2decode; reslevelno++) {\n            Jpeg2000ResLevel *rlevel = comp->reslevel + reslevelno;\n            for (bandno = 0; bandno < rlevel->nbands; bandno++) {\n                uint16_t nb_precincts, precno;\n                Jpeg2000Band *band = rlevel->band + bandno;\n                int cblkno = 0, bandpos;\n                bandpos = bandno + (reslevelno > 0);\n                if (band->coord[0][0] == band->coord[0][1] ||\n                    band->coord[1][0] == band->coord[1][1])\n                    continue;\n                nb_precincts = rlevel->num_precincts_x * rlevel->num_precincts_y;\n                for (precno = 0; precno < nb_precincts; precno++) {\n                    Jpeg2000Prec *prec = band->prec + precno;\n                    for (cblkno = 0; cblkno < prec->nb_codeblocks_width * prec->nb_codeblocks_height; cblkno++) {\n                        int x, y;\n                        Jpeg2000Cblk *cblk = prec->cblk + cblkno;\n                        decode_cblk(s, codsty, &t1, cblk,\n                                    cblk->coord[0][1] - cblk->coord[0][0],\n                                    cblk->coord[1][1] - cblk->coord[1][0],\n                                    bandpos);\n                        x = cblk->coord[0][0];\n                        y = cblk->coord[1][0];\n                        if (codsty->transform == FF_DWT97)\n                            dequantization_float(x, y, cblk, comp, &t1, band);\n                        else\n                            dequantization_int(x, y, cblk, comp, &t1, band);\n                   }\n                }\n            }\n        }\n        ff_dwt_decode(&comp->dwt, codsty->transform == FF_DWT97 ? (void*)comp->f_data : (void*)comp->i_data);\n    }\n}', 'int ff_dwt_decode(DWTContext *s, void *t)\n{\n    switch (s->type) {\n    case FF_DWT97:\n        dwt_decode97_float(s, t);\n        break;\n    case FF_DWT97_INT:\n        dwt_decode97_int(s, t);\n        break;\n    case FF_DWT53:\n        dwt_decode53(s, t);\n        break;\n    default:\n        return -1;\n    }\n    return 0;\n}', 'static void dwt_decode53(DWTContext *s, int *t)\n{\n    int lev;\n    int w     = s->linelen[s->ndeclevels - 1][0];\n    int32_t *line = s->i_linebuf;\n    line += 3;\n    for (lev = 0; lev < s->ndeclevels; lev++) {\n        int lh = s->linelen[lev][0],\n            lv = s->linelen[lev][1],\n            mh = s->mod[lev][0],\n            mv = s->mod[lev][1],\n            lp;\n        int *l;\n        l = line + mh;\n        for (lp = 0; lp < lv; lp++) {\n            int i, j = 0;\n            for (i = mh; i < lh; i += 2, j++)\n                l[i] = t[w * lp + j];\n            for (i = 1 - mh; i < lh; i += 2, j++)\n                l[i] = t[w * lp + j];\n            sr_1d53(line, mh, mh + lh);\n            for (i = 0; i < lh; i++)\n                t[w * lp + i] = l[i];\n        }\n        l = line + mv;\n        for (lp = 0; lp < lh; lp++) {\n            int i, j = 0;\n            for (i = mv; i < lv; i += 2, j++)\n                l[i] = t[w * j + lp];\n            for (i = 1 - mv; i < lv; i += 2, j++)\n                l[i] = t[w * j + lp];\n            sr_1d53(line, mv, mv + lv);\n            for (i = 0; i < lv; i++)\n                t[w * i + lp] = l[i];\n        }\n    }\n}']