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

libavcodec/vorbis_enc.c:972:10: Call
970.     int i;
971. 
972.     if (!apply_window_and_mdct(venc, audio, samples)) return 0;
              ^
973.     samples = 1 << (venc->log2_blocksize[0] - 1);
974. 

libavcodec/vorbis_enc.c:885:1: Parameter `venc->floor->re`
  883. }
  884. 
  885. static int apply_window_and_mdct(venc_context_t * venc, signed short * audio, int samples) {
       ^
  886.     int i, j, channel;
  887.     const float * win = venc->win[0];

libavcodec/vorbis_enc.c:990:29: Array declaration
988.     for (i = 0; i < venc->channels; i++) {
989.         floor_t * fc = &venc->floors[mapping->floor[mapping->mux[i]]];
990.         uint_fast16_t posts[fc->values];
                                 ^
991.         floor_fit(venc, fc, &venc->coeffs[i * samples], posts, samples);
992.         floor_encode(venc, fc, &pb, posts, &venc->floor[i * samples], samples);

libavcodec/vorbis_enc.c:992:9: Call
990.         uint_fast16_t posts[fc->values];
991.         floor_fit(venc, fc, &venc->coeffs[i * samples], posts, samples);
992.         floor_encode(venc, fc, &pb, posts, &venc->floor[i * samples], samples);
             ^
993.     }
994. 

libavcodec/vorbis_enc.c:707:1: <Offset trace>
705. }
706. 
707. static void floor_encode(venc_context_t * venc, floor_t * fc, PutBitContext * pb, uint_fast16_t * posts, float * floor, int samples) {
     ^
708.     int range = 255 / fc->multiplier + 1;
709.     int coded[fc->values]; // first 2 values are unused

libavcodec/vorbis_enc.c:707:1: Parameter `fc->values`
  705. }
  706. 
  707. static void floor_encode(venc_context_t * venc, floor_t * fc, PutBitContext * pb, uint_fast16_t * posts, float * floor, int samples) {
       ^
  708.     int range = 255 / fc->multiplier + 1;
  709.     int coded[fc->values]; // first 2 values are unused

libavcodec/vorbis_enc.c:707:1: <Length trace>
705. }
706. 
707. static void floor_encode(venc_context_t * venc, floor_t * fc, PutBitContext * pb, uint_fast16_t * posts, float * floor, int samples) {
     ^
708.     int range = 255 / fc->multiplier + 1;
709.     int coded[fc->values]; // first 2 values are unused

libavcodec/vorbis_enc.c:707:1: Parameter `*posts`
  705. }
  706. 
  707. static void floor_encode(venc_context_t * venc, floor_t * fc, PutBitContext * pb, uint_fast16_t * posts, float * floor, int samples) {
       ^
  708.     int range = 255 / fc->multiplier + 1;
  709.     int coded[fc->values]; // first 2 values are unused

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