libavcodec/wmaprodec.c:1038: error: Buffer Overrun L3
  Offset: [-6, +oo] Size: 7.

libavcodec/wmaprodec.c:1038:29: <Offset trace>
1036.         }
1037. 
1038.         window = s->windows[av_log2(winlen) - WMAPRO_BLOCK_MIN_BITS];
                                  ^
1039. 
1040.         winlen >>= 1;

libavcodec/wmaprodec.c:1038:29: Call
1036.         }
1037. 
1038.         window = s->windows[av_log2(winlen) - WMAPRO_BLOCK_MIN_BITS];
                                  ^
1039. 
1040.         winlen >>= 1;

libavutil/common.h:67:1: Global `ff_log2_tab`
  65. extern const uint8_t av_reverse[256];
  66. 
  67. static av_always_inline av_const int av_log2_c(unsigned int v)
      ^
  68. {
  69.     int n = 0;

libavutil/common.h:78:5: Assignment
  76.         n += 8;
  77.     }
  78.     n += ff_log2_tab[v];
          ^
  79. 
  80.     return n;

libavutil/common.h:80:5: Assignment
  78.     n += ff_log2_tab[v];
  79. 
  80.     return n;
          ^
  81. }
  82. 

libavcodec/wmaprodec.c:1024:1: <Length trace>
1022.  *@param s codec context
1023.  */
1024. static void wmapro_window(WMAProDecodeCtx *s)
      ^
1025. {
1026.     int i;

libavcodec/wmaprodec.c:1024:1: Parameter `s->windows[*]`
1022.  *@param s codec context
1023.  */
1024. static void wmapro_window(WMAProDecodeCtx *s)
      ^
1025. {
1026.     int i;

libavcodec/wmaprodec.c:1038:18: Array access: Offset: [-6, +oo] Size: 7
1036.         }
1037. 
1038.         window = s->windows[av_log2(winlen) - WMAPRO_BLOCK_MIN_BITS];
                       ^
1039. 
1040.         winlen >>= 1;

static void wmapro_window(WMAProDecodeCtx *s)
{
    int i;
    for (i = 0; i < s->channels_for_cur_subframe; i++) {
        int c = s->channel_indexes_for_cur_subframe[i];
        float* window;
        int winlen = s->channel[c].prev_block_len;
        float* start = s->channel[c].coeffs - (winlen >> 1);
        if (s->subframe_len < winlen) {
            start += (winlen - s->subframe_len) >> 1;
            winlen = s->subframe_len;
        }
        window = s->windows[av_log2(winlen) - WMAPRO_BLOCK_MIN_BITS];
        winlen >>= 1;
        s->dsp.vector_fmul_window(start, start, start + winlen,
                                  window, winlen);
        s->channel[c].prev_block_len = s->subframe_len;
    }
}
['static void wmapro_window(WMAProDecodeCtx *s)\n{\n    int i;\n    for (i = 0; i < s->channels_for_cur_subframe; i++) {\n        int c = s->channel_indexes_for_cur_subframe[i];\n        float* window;\n        int winlen = s->channel[c].prev_block_len;\n        float* start = s->channel[c].coeffs - (winlen >> 1);\n        if (s->subframe_len < winlen) {\n            start += (winlen - s->subframe_len) >> 1;\n            winlen = s->subframe_len;\n        }\n        window = s->windows[av_log2(winlen) - WMAPRO_BLOCK_MIN_BITS];\n        winlen >>= 1;\n        s->dsp.vector_fmul_window(start, start, start + winlen,\n                                  window, winlen);\n        s->channel[c].prev_block_len = s->subframe_len;\n    }\n}', 'static av_always_inline av_const int av_log2_c(unsigned int v)\n{\n    int n = 0;\n    if (v & 0xffff0000) {\n        v >>= 16;\n        n += 16;\n    }\n    if (v & 0xff00) {\n        v >>= 8;\n        n += 8;\n    }\n    n += ff_log2_tab[v];\n    return n;\n}']