libavcodec/vorbis_enc.c:951: error: Buffer Overrun L3
  Offset: [2, +oo] Size: [0, +oo] by call to `floor_encode`.

libavcodec/vorbis_enc.c:931:10: Call
929.     int i;
930. 
931.     if (!apply_window_and_mdct(venc, audio, samples)) return 0;
              ^
932.     samples = 1 << (venc->log2_blocksize[0] - 1);
933. 

libavcodec/vorbis_enc.c:844:1: Parameter `venc->coeffs->re`
  842. }
  843. 
  844. static int apply_window_and_mdct(vorbis_enc_context * venc, signed short * audio, int samples) {
       ^
  845.     int i, j, channel;
  846.     const float * win = venc->win[0];

libavcodec/vorbis_enc.c:949:29: Array declaration
947.     for (i = 0; i < venc->channels; i++) {
948.         vorbis_enc_floor * fc = &venc->floors[mapping->floor[mapping->mux[i]]];
949.         uint_fast16_t posts[fc->values];
                                 ^
950.         floor_fit(venc, fc, &venc->coeffs[i * samples], posts, samples);
951.         floor_encode(venc, fc, &pb, posts, &venc->floor[i * samples], samples);

libavcodec/vorbis_enc.c:951:9: Call
949.         uint_fast16_t posts[fc->values];
950.         floor_fit(venc, fc, &venc->coeffs[i * samples], posts, samples);
951.         floor_encode(venc, fc, &pb, posts, &venc->floor[i * samples], samples);
             ^
952.     }
953. 

libavcodec/vorbis_enc.c:666:1: <Offset trace>
664. }
665. 
666. static void floor_encode(vorbis_enc_context * venc, vorbis_enc_floor * fc, PutBitContext * pb, uint_fast16_t * posts, float * floor, int samples) {
     ^
667.     int range = 255 / fc->multiplier + 1;
668.     int coded[fc->values]; // first 2 values are unused

libavcodec/vorbis_enc.c:666:1: Parameter `fc->values`
  664. }
  665. 
  666. static void floor_encode(vorbis_enc_context * venc, vorbis_enc_floor * fc, PutBitContext * pb, uint_fast16_t * posts, float * floor, int samples) {
       ^
  667.     int range = 255 / fc->multiplier + 1;
  668.     int coded[fc->values]; // first 2 values are unused

libavcodec/vorbis_enc.c:666:1: <Length trace>
664. }
665. 
666. static void floor_encode(vorbis_enc_context * venc, vorbis_enc_floor * fc, PutBitContext * pb, uint_fast16_t * posts, float * floor, int samples) {
     ^
667.     int range = 255 / fc->multiplier + 1;
668.     int coded[fc->values]; // first 2 values are unused

libavcodec/vorbis_enc.c:666:1: Parameter `*posts`
  664. }
  665. 
  666. static void floor_encode(vorbis_enc_context * venc, vorbis_enc_floor * fc, PutBitContext * pb, uint_fast16_t * posts, float * floor, int samples) {
       ^
  667.     int range = 255 / fc->multiplier + 1;
  668.     int coded[fc->values]; // first 2 values are unused

libavcodec/vorbis_enc.c:685:26: Array access: Offset: [2, +oo] Size: [0, +oo] by call to `floor_encode` 
  683.         int lowroom = predicted;
  684.         int room = FFMIN(highroom, lowroom);
  685.         if (predicted == posts[i]) {
                                ^
  686.             coded[i] = 0; // must be used later as flag!
  687.             continue;
