libavcodec/binkaudio.c:192: error: Integer Overflow L2
  ([1, +oo] - 8):unsigned32 by call to `bitstream_read`.

libavcodec/binkaudio.c:192:25: Call
190.             return AVERROR_INVALIDDATA;
191.         for (i = 0; i < s->num_bands; i++) {
192.             int value = bitstream_read(bc, 8);
                             ^
193.             quant[i]  = quant_table[FFMIN(value, 95)];
194.         }

libavcodec/bitstream.h:183:1: Parameter `n`
  181. 
  182. /* Return n bits from the buffer. n has to be in the 0-32 range. */
  183. static inline uint32_t bitstream_read(BitstreamContext *bc, unsigned n)
       ^
  184. {
  185.     if (!n)

libavcodec/bitstream.h:194:12: Call
  192.     }
  193. 
  194.     return get_val(bc, n);
                  ^
  195. }
  196. 

libavcodec/bitstream.h:130:1: <LHS trace>
128. }
129. 
130. static inline uint64_t get_val(BitstreamContext *bc, unsigned n)
     ^
131. {
132. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:130:1: Parameter `bc->bits_left`
    128. }
    129. 
    130. static inline uint64_t get_val(BitstreamContext *bc, unsigned n)
         ^
    131. {
    132. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:130:1: <RHS trace>
128. }
129. 
130. static inline uint64_t get_val(BitstreamContext *bc, unsigned n)
     ^
131. {
132. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:130:1: Parameter `n`
    128. }
    129. 
    130. static inline uint64_t get_val(BitstreamContext *bc, unsigned n)
         ^
    131. {
    132. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:139:5: Binary operation: ([1, +oo] - 8):unsigned32 by call to `bitstream_read` 
    137.     bc->bits <<= n;
    138. #endif
    139.     bc->bits_left -= n;
             ^
    140. 
    141.     return ret;

static inline uint64_t get_val(BitstreamContext *bc, unsigned n)
{
#ifdef BITSTREAM_READER_LE
    uint64_t ret = bc->bits & ((UINT64_C(1) << n) - 1);
    bc->bits >>= n;
#else
    uint64_t ret = bc->bits >> (64 - n);
    bc->bits <<= n;
#endif
    bc->bits_left -= n;
    return ret;
}
['static int decode_block(BinkAudioContext *s, float **out, int use_dct)\n{\n    int ch, i, j, k;\n    float q, quant[25];\n    int width, coeff;\n    BitstreamContext *bc = &s->bc;\n    if (use_dct)\n        bitstream_skip(bc, 2);\n    for (ch = 0; ch < s->channels; ch++) {\n        FFTSample *coeffs = out[ch];\n        if (s->version_b) {\n            if (bitstream_bits_left(bc) < 64)\n                return AVERROR_INVALIDDATA;\n            coeffs[0] = av_int2float(bitstream_read(bc, 32)) * s->root;\n            coeffs[1] = av_int2float(bitstream_read(bc, 32)) * s->root;\n        } else {\n            if (bitstream_bits_left(bc) < 58)\n                return AVERROR_INVALIDDATA;\n            coeffs[0] = get_float(bc) * s->root;\n            coeffs[1] = get_float(bc) * s->root;\n        }\n        if (bitstream_bits_left(bc) < s->num_bands * 8)\n            return AVERROR_INVALIDDATA;\n        for (i = 0; i < s->num_bands; i++) {\n            int value = bitstream_read(bc, 8);\n            quant[i]  = quant_table[FFMIN(value, 95)];\n        }\n        k = 0;\n        q = quant[0];\n        i = 2;\n        while (i < s->frame_len) {\n            if (s->version_b) {\n                j = i + 16;\n            } else {\n                int v = bitstream_read_bit(bc);\n                if (v) {\n                    v = bitstream_read(bc, 4);\n                    j = i + rle_length_tab[v] * 8;\n                } else {\n                    j = i + 8;\n                }\n            }\n            j = FFMIN(j, s->frame_len);\n            width = bitstream_read(bc, 4);\n            if (width == 0) {\n                memset(coeffs + i, 0, (j - i) * sizeof(*coeffs));\n                i = j;\n                while (s->bands[k] < i)\n                    q = quant[k++];\n            } else {\n                while (i < j) {\n                    if (s->bands[k] == i)\n                        q = quant[k++];\n                    coeff = bitstream_read(bc, width);\n                    if (coeff) {\n                        int v;\n                        v = bitstream_read_bit(bc);\n                        if (v)\n                            coeffs[i] = -q * coeff;\n                        else\n                            coeffs[i] =  q * coeff;\n                    } else {\n                        coeffs[i] = 0.0f;\n                    }\n                    i++;\n                }\n            }\n        }\n        if (CONFIG_BINKAUDIO_DCT_DECODER && use_dct) {\n            coeffs[0] /= 0.5;\n            s->trans.dct.dct_calc(&s->trans.dct,  coeffs);\n        }\n        else if (CONFIG_BINKAUDIO_RDFT_DECODER)\n            s->trans.rdft.rdft_calc(&s->trans.rdft, coeffs);\n    }\n    for (ch = 0; ch < s->channels; ch++) {\n        int j;\n        int count = s->overlap_len * s->channels;\n        if (!s->first) {\n            j = ch;\n            for (i = 0; i < s->overlap_len; i++, j += s->channels)\n                out[ch][i] = (s->previous[ch][i] * (count - j) +\n                                      out[ch][i] *          j) / count;\n        }\n        memcpy(s->previous[ch], &out[ch][s->frame_len - s->overlap_len],\n               s->overlap_len * sizeof(*s->previous[ch]));\n    }\n    s->first = 0;\n    return 0;\n}', 'static inline uint32_t bitstream_read(BitstreamContext *bc, unsigned n)\n{\n    if (!n)\n        return 0;\n    if (n > bc->bits_left) {\n        refill_32(bc);\n        if (bc->bits_left < 32)\n            bc->bits_left = n;\n    }\n    return get_val(bc, n);\n}', 'static inline uint64_t get_val(BitstreamContext *bc, unsigned n)\n{\n#ifdef BITSTREAM_READER_LE\n    uint64_t ret = bc->bits & ((UINT64_C(1) << n) - 1);\n    bc->bits >>= n;\n#else\n    uint64_t ret = bc->bits >> (64 - n);\n    bc->bits <<= n;\n#endif\n    bc->bits_left -= n;\n    return ret;\n}']