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

libavcodec/cook.c:955:5: Assignment
953.     int i, ret;
954.     int offset = 0;
955.     int chidx = 0;
         ^
956. 
957.     if (buf_size < avctx->block_align)

libavcodec/cook.c:987:9: Assignment
985.         q->subpacket[i].bits_per_subpacket = (q->subpacket[i].size * 8) >>
986.                                               q->subpacket[i].bits_per_subpdiv;
987.         q->subpacket[i].ch_idx = chidx;
             ^
988.         av_log(avctx, AV_LOG_DEBUG,
989.                "subpacket[%i] size %i js %i %i block_align %i\n",

libavcodec/cook.c:993:20: Call
991.                avctx->block_align);
992. 
993.         if ((ret = decode_subpacket(q, &q->subpacket[i], buf + offset, samples)) < 0)
                        ^
994.             return ret;
995.         offset += q->subpacket[i].size;

libavcodec/cook.c:904:1: Parameter `p->numvector_size`
  902.  * @param outbuffer         pointer to the outbuffer
  903.  */
  904. static int decode_subpacket(COOKContext *q, COOKSubpacket *p,
       ^
  905.                             const uint8_t *inbuffer, float **outbuffer)
  906. {

libavcodec/cook.c:917:20: Call
  915.             return res;
  916.     } else {
  917.         if ((res = mono_decode(q, p, q->decode_buffer_1)) < 0)
                          ^
  918.             return res;
  919. 

libavcodec/cook.c:628:1: Parameter `p->numvector_size`
    626. 
    627. 
    628. static int mono_decode(COOKContext *q, COOKSubpacket *p, float *mlt_buffer)
         ^
    629. {
    630.     int category_index[128] = { 0 };

libavcodec/cook.c:638:5: Call
    636.         return res;
    637.     q->num_vectors = bitstream_read(&q->bc, p->log2_numvector_size);
    638.     categorize(q, p, quant_index_table, category, category_index);
             ^
    639.     expand_category(q, category, category_index);
    640.     decode_vectors(q, p, category, quant_index_table, mlt_buffer);

libavcodec/cook.c:400:1: <Offset trace>
398.  * @param category_index        pointer to the category_index array
399.  */
400. static void categorize(COOKContext *q, COOKSubpacket *p, int *quant_index_table,
     ^
401.                        int *category, int *category_index)
402. {

libavcodec/cook.c:400:1: Parameter `p->numvector_size`
      398.  * @param category_index        pointer to the category_index array
      399.  */
      400. static void categorize(COOKContext *q, COOKSubpacket *p, int *quant_index_table,
           ^
      401.                        int *category, int *category_index)
      402. {

libavcodec/cook.c:409:5: Assignment
      407.     int tmp_categorize_array[128 * 2] = { 0 };
      408.     int tmp_categorize_array1_idx = p->numvector_size;
      409.     int tmp_categorize_array2_idx = p->numvector_size;
               ^
      410. 
      411.     bits_left = p->bits_per_subpacket - bitstream_tell(&q->bc);

libavcodec/cook.c:400:1: <Length trace>
398.  * @param category_index        pointer to the category_index array
399.  */
400. static void categorize(COOKContext *q, COOKSubpacket *p, int *quant_index_table,
     ^
401.                        int *category, int *category_index)
402. {

libavcodec/cook.c:400:1: Array declaration
      398.  * @param category_index        pointer to the category_index array
      399.  */
      400. static void categorize(COOKContext *q, COOKSubpacket *p, int *quant_index_table,
           ^
      401.                        int *category, int *category_index)
      402. {

libavcodec/cook.c:475:13: Array access: Offset: [-oo, -1] Size: 256 by call to `decode_subpacket` 
      473.             if (index == -1)
      474.                 break;
      475.             tmp_categorize_array[--tmp_categorize_array2_idx] = index;
                       ^
      476.             tmpbias2 -= expbits_tab[exp_index2[index]] -
      477.                         expbits_tab[exp_index2[index] - 1];
