libavcodec/cook.c:1016: error: Buffer Overrun L1
  Offset: [-oo, -1] Size: 256 by call to `decode_subpacket`.

libavcodec/cook.c:978:5: Assignment
976.     int i, ret;
977.     int offset = 0;
978.     int chidx = 0;
         ^
979. 
980.     if (buf_size < avctx->block_align)

libavcodec/cook.c:1010:9: Assignment
1008.         q->subpacket[i].bits_per_subpacket = (q->subpacket[i].size * 8) >>
1009.                                               q->subpacket[i].bits_per_subpdiv;
1010.         q->subpacket[i].ch_idx = chidx;
              ^
1011.         av_log(avctx, AV_LOG_DEBUG,
1012.                "subpacket[%i] size %i js %i %i block_align %i\n",

libavcodec/cook.c:1016:20: Call
1014.                avctx->block_align);
1015. 
1016.         if ((ret = decode_subpacket(q, &q->subpacket[i], buf + offset, samples)) < 0)
                         ^
1017.             return ret;
1018.         offset += q->subpacket[i].size;

libavcodec/cook.c:923:1: Parameter `p->numvector_size`
  921.  * @param outbuffer         pointer to the outbuffer
  922.  */
  923. static int decode_subpacket(COOKContext *q, COOKSubpacket *p,
       ^
  924.                             const uint8_t *inbuffer, float *outbuffer)
  925. {

libavcodec/cook.c:939:20: Call
  937.             return res;
  938.     } else {
  939.         if ((res = mono_decode(q, p, q->decode_buffer_1)) < 0)
                          ^
  940.             return res;
  941. 

libavcodec/cook.c:646:1: Parameter `p->numvector_size`
    644.  * @param mlt_buffer        pointer to mlt coefficients
    645.  */
    646. static int mono_decode(COOKContext *q, COOKSubpacket *p, float *mlt_buffer)
         ^
    647. {
    648.     int category_index[128] = { 0 };

libavcodec/cook.c:656:5: Call
    654.         return res;
    655.     q->num_vectors = get_bits(&q->gb, p->log2_numvector_size);
    656.     categorize(q, p, quant_index_table, category, category_index);
             ^
    657.     expand_category(q, category, category_index);
    658.     decode_vectors(q, p, category, quant_index_table, mlt_buffer);

libavcodec/cook.c:410:1: <Offset trace>
408.  * @param category_index        pointer to the category_index array
409.  */
410. static void categorize(COOKContext *q, COOKSubpacket *p, int *quant_index_table,
     ^
411.                        int *category, int *category_index)
412. {

libavcodec/cook.c:410:1: Parameter `p->numvector_size`
      408.  * @param category_index        pointer to the category_index array
      409.  */
      410. static void categorize(COOKContext *q, COOKSubpacket *p, int *quant_index_table,
           ^
      411.                        int *category, int *category_index)
      412. {

libavcodec/cook.c:419:5: Assignment
      417.     int tmp_categorize_array[128 * 2] = { 0 };
      418.     int tmp_categorize_array1_idx = p->numvector_size;
      419.     int tmp_categorize_array2_idx = p->numvector_size;
               ^
      420. 
      421.     bits_left = p->bits_per_subpacket - get_bits_count(&q->gb);

libavcodec/cook.c:410:1: <Length trace>
408.  * @param category_index        pointer to the category_index array
409.  */
410. static void categorize(COOKContext *q, COOKSubpacket *p, int *quant_index_table,
     ^
411.                        int *category, int *category_index)
412. {

libavcodec/cook.c:410:1: Array declaration
      408.  * @param category_index        pointer to the category_index array
      409.  */
      410. static void categorize(COOKContext *q, COOKSubpacket *p, int *quant_index_table,
           ^
      411.                        int *category, int *category_index)
      412. {

libavcodec/cook.c:487:13: Array access: Offset: [-oo, -1] Size: 256 by call to `decode_subpacket` 
      485.             if (index == -1)
      486.                 break;
      487.             tmp_categorize_array[--tmp_categorize_array2_idx] = index;
                       ^
      488.             tmpbias2 -= expbits_tab[exp_index2[index]] -
      489.                         expbits_tab[exp_index2[index] - 1];
