libavcodec/atrac3plus.c:1724: error: Integer Overflow L2
  ([0, 92+max(65, `bc->bits_left`)] - 1):unsigned32 by call to `get_subband_flags`.

libavcodec/atrac3plus.c:1696:1: Parameter `bc->bits_left`
1694.  * @return result code: 0 = OK, otherwise - error code
1695.  */
1696. static int decode_tones_info(BitstreamContext *bc, Atrac3pChanUnitCtx *ctx,
      ^
1697.                              int num_channels, AVCodecContext *avctx)
1698. {

libavcodec/atrac3plus.c:1706:38: Call
1704.                sizeof(*ctx->channels[ch_num].tones_info) * ATRAC3P_SUBBANDS);
1705. 
1706.     ctx->waves_info->tones_present = bitstream_read_bit(bc);
                                           ^
1707.     if (!ctx->waves_info->tones_present)
1708.         return 0;

libavcodec/bitstream.h:145:1: Parameter `bc->bits_left`
  143. 
  144. /* Return one bit from the buffer. */
  145. static inline unsigned bitstream_read_bit(BitstreamContext *bc)
       ^
  146. {
  147.     if (!bc->bits_left)

libavcodec/bitstream.h:150:12: Call
  148.         refill_64(bc);
  149. 
  150.     return get_val(bc, 1);
                  ^
  151. }
  152. 

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: Assignment
    137.     bc->bits <<= n;
    138. #endif
    139.     bc->bits_left -= n;
             ^
    140. 
    141.     return ret;

libavcodec/atrac3plus.c:1712:39: Call
1710.     memset(ctx->waves_info->waves, 0, sizeof(ctx->waves_info->waves));
1711. 
1712.     ctx->waves_info->amplitude_mode = bitstream_read_bit(bc);
                                            ^
1713.     if (!ctx->waves_info->amplitude_mode) {
1714.         avpriv_report_missing_feature(avctx, "GHA amplitude mode 0");

libavcodec/bitstream.h:145:1: Parameter `bc->bits_left`
  143. 
  144. /* Return one bit from the buffer. */
  145. static inline unsigned bitstream_read_bit(BitstreamContext *bc)
       ^
  146. {
  147.     if (!bc->bits_left)

libavcodec/bitstream.h:150:12: Call
  148.         refill_64(bc);
  149. 
  150.     return get_val(bc, 1);
                  ^
  151. }
  152. 

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: Assignment
    137.     bc->bits <<= n;
    138. #endif
    139.     bc->bits_left -= n;
             ^
    140. 
    141.     return ret;

libavcodec/atrac3plus.c:1719:9: Call
1717. 
1718.     ctx->waves_info->num_tone_bands =
1719.         bitstream_read_vlc(bc, tone_vlc_tabs[0].table,
              ^
1720.                            tone_vlc_tabs[0].bits, 1) + 1;
1721. 

libavcodec/bitstream.h:313:1: Parameter `(*table)[*]`
  311.  * If the VLC code is invalid and max_depth > 1, then the number of bits removed
  312.  * is undefined. */
  313. static inline int bitstream_read_vlc(BitstreamContext *bc, VLC_TYPE (*table)[2],
       ^
  314.                                      int bits, int max_depth)
  315. {

libavcodec/bitstream.h:319:5: Assignment
  317.     unsigned idx = bitstream_peek(bc, bits);
  318.     int code = table[idx][0];
  319.     int n    = table[idx][1];
           ^
  320. 
  321.     if (max_depth > 1 && n < 0) {

libavcodec/bitstream.h:329:5: Call
  327.         }
  328.     }
  329.     skip_remaining(bc, n);
           ^
  330. 
  331.     return code;

libavcodec/bitstream.h:230:1: Parameter `n`
    228. }
    229. 
    230. static inline void skip_remaining(BitstreamContext *bc, unsigned n)
         ^
    231. {
    232. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:237:5: Assignment
    235.     bc->bits <<= n;
    236. #endif
    237.     bc->bits_left -= n;
             ^
    238. }
    239. 

libavcodec/atrac3plus.c:1723:9: Call
1721. 
1722.     if (num_channels == 2) {
1723.         get_subband_flags(bc, ctx->waves_info->tone_sharing, ctx->waves_info->num_tone_bands);
              ^
1724.         get_subband_flags(bc, ctx->waves_info->tone_master,  ctx->waves_info->num_tone_bands);
1725.         if (get_subband_flags(bc, ctx->waves_info->phase_shift,

libavcodec/atrac3plus.c:922:1: Parameter `bc->bits_left`
  920.  * @return: 0 = all flag bits are zero, 1 = there is at least one non-zero flag bit
  921.  */
  922. static int get_subband_flags(BitstreamContext *bc, uint8_t *out, int num_flags)
       ^
  923. {
  924.     int i, result;

libavcodec/atrac3plus.c:928:14: Call
  926.     memset(out, 0, num_flags);
  927. 
  928.     result = bitstream_read_bit(bc);
                    ^
  929.     if (result) {
  930.         if (bitstream_read_bit(bc))

libavcodec/bitstream.h:145:1: Parameter `bc->bits_left`
    143. 
    144. /* Return one bit from the buffer. */
    145. static inline unsigned bitstream_read_bit(BitstreamContext *bc)
         ^
    146. {
    147.     if (!bc->bits_left)

libavcodec/bitstream.h:150:12: Call
    148.         refill_64(bc);
    149. 
    150.     return get_val(bc, 1);
                    ^
    151. }
    152. 

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: Assignment
      137.     bc->bits <<= n;
      138. #endif
      139.     bc->bits_left -= n;
               ^
      140. 
      141.     return ret;

libavcodec/atrac3plus.c:1724:9: Call
1722.     if (num_channels == 2) {
1723.         get_subband_flags(bc, ctx->waves_info->tone_sharing, ctx->waves_info->num_tone_bands);
1724.         get_subband_flags(bc, ctx->waves_info->tone_master,  ctx->waves_info->num_tone_bands);
              ^
1725.         if (get_subband_flags(bc, ctx->waves_info->phase_shift,
1726.                               ctx->waves_info->num_tone_bands)) {

libavcodec/atrac3plus.c:922:1: Parameter `bc->bits_left`
  920.  * @return: 0 = all flag bits are zero, 1 = there is at least one non-zero flag bit
  921.  */
  922. static int get_subband_flags(BitstreamContext *bc, uint8_t *out, int num_flags)
       ^
  923. {
  924.     int i, result;

libavcodec/atrac3plus.c:928:14: Call
  926.     memset(out, 0, num_flags);
  927. 
  928.     result = bitstream_read_bit(bc);
                    ^
  929.     if (result) {
  930.         if (bitstream_read_bit(bc))

libavcodec/bitstream.h:145:1: Parameter `bc->bits_left`
    143. 
    144. /* Return one bit from the buffer. */
    145. static inline unsigned bitstream_read_bit(BitstreamContext *bc)
         ^
    146. {
    147.     if (!bc->bits_left)

libavcodec/bitstream.h:150:12: Call
    148.         refill_64(bc);
    149. 
    150.     return get_val(bc, 1);
                    ^
    151. }
    152. 

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: ([0, 92+max(65, bc->bits_left)] - 1):unsigned32 by call to `get_subband_flags` 
      137.     bc->bits <<= n;
      138. #endif
      139.     bc->bits_left -= n;
               ^
      140. 
      141.     return ret;
