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

libavcodec/wmaprodec.c:1043:29: <Offset trace>
1041.         }
1042. 
1043.         window = s->windows[av_log2(winlen) - WMAPRO_BLOCK_MIN_BITS];
                                  ^
1044. 
1045.         winlen >>= 1;

libavcodec/wmaprodec.c:1043:29: Call
1041.         }
1042. 
1043.         window = s->windows[av_log2(winlen) - WMAPRO_BLOCK_MIN_BITS];
                                  ^
1044. 
1045.         winlen >>= 1;

libavutil/intmath.h:53:1: Global `ff_log2_tab`
  51. #ifndef ff_log2
  52. #define ff_log2 ff_log2_c
  53. static av_always_inline av_const int ff_log2_c(unsigned int v)
      ^
  54. {
  55.     int n = 0;

libavutil/intmath.h:64:5: Assignment
  62.         n += 8;
  63.     }
  64.     n += ff_log2_tab[v];
          ^
  65. 
  66.     return n;

libavutil/intmath.h:66:5: Assignment
  64.     n += ff_log2_tab[v];
  65. 
  66.     return n;
          ^
  67. }
  68. #endif

libavcodec/wmaprodec.c:1029:1: <Length trace>
1027.  *@param s codec context
1028.  */
1029. static void wmapro_window(WMAProDecodeCtx *s)
      ^
1030. {
1031.     int i;

libavcodec/wmaprodec.c:1029:1: Parameter `s->windows[*]`
1027.  *@param s codec context
1028.  */
1029. static void wmapro_window(WMAProDecodeCtx *s)
      ^
1030. {
1031.     int i;

libavcodec/wmaprodec.c:1043:18: Array access: Offset: [-6, +oo] Size: 8
1041.         }
1042. 
1043.         window = s->windows[av_log2(winlen) - WMAPRO_BLOCK_MIN_BITS];
                       ^
1044. 
1045.         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 ff_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}']