libavcodec/mpc8.c:203: error: Null Dereference
  pointer `gb->buffer` last assigned on line 202 could be null and is dereferenced by call to `skip_bits()` at line 203, column 5.

libavcodec/mpc8.c:184:1: start of procedure mpc8_decode_frame()
182. }
183. 
184. static int mpc8_decode_frame(AVCodecContext * avctx,
     ^
185.                             void *data, int *data_size,
186.                             const uint8_t * buf, int buf_size)

libavcodec/mpc8.c:188:5: 
186.                             const uint8_t * buf, int buf_size)
187. {
188.     MPCContext *c = avctx->priv_data;
         ^
189.     GetBitContext gb2, *gb = &gb2;
190.     int i, j, k, ch, cnt, res, t;

libavcodec/mpc8.c:189:5: 
187. {
188.     MPCContext *c = avctx->priv_data;
189.     GetBitContext gb2, *gb = &gb2;
         ^
190.     int i, j, k, ch, cnt, res, t;
191.     Band *bands = c->bands;

libavcodec/mpc8.c:191:5: 
189.     GetBitContext gb2, *gb = &gb2;
190.     int i, j, k, ch, cnt, res, t;
191.     Band *bands = c->bands;
         ^
192.     int off;
193.     int maxband, keyframe;

libavcodec/mpc8.c:196:16: Condition is true
194.     int last[2];
195. 
196.     keyframe = c->cur_frame == 0;
                    ^
197. 
198.     if(keyframe){

libavcodec/mpc8.c:196:5: 
194.     int last[2];
195. 
196.     keyframe = c->cur_frame == 0;
         ^
197. 
198.     if(keyframe){

libavcodec/mpc8.c:198:8: Taking true branch
196.     keyframe = c->cur_frame == 0;
197. 
198.     if(keyframe){
            ^
199.         memset(c->Q, 0, sizeof(c->Q));
200.         c->last_bits_used = 0;

libavcodec/mpc8.c:199:9: 
197. 
198.     if(keyframe){
199.         memset(c->Q, 0, sizeof(c->Q));
             ^
200.         c->last_bits_used = 0;
201.     }

libavcodec/mpc8.c:200:9: 
198.     if(keyframe){
199.         memset(c->Q, 0, sizeof(c->Q));
200.         c->last_bits_used = 0;
             ^
201.     }
202.     init_get_bits(gb, buf, buf_size * 8);

libavcodec/mpc8.c:202:5: 
200.         c->last_bits_used = 0;
201.     }
202.     init_get_bits(gb, buf, buf_size * 8);
         ^
203.     skip_bits(gb, c->last_bits_used & 7);
204. 

libavcodec/bitstream.h:719:1: start of procedure init_get_bits()
  717.  * @param bit_size the size of the buffer in bits
  718.  */
  719. static inline void init_get_bits(GetBitContext *s,
       ^
  720.                    const uint8_t *buffer, int bit_size)
  721. {

libavcodec/bitstream.h:722:5: 
  720.                    const uint8_t *buffer, int bit_size)
  721. {
  722.     int buffer_size= (bit_size+7)>>3;
           ^
  723.     if(buffer_size < 0 || bit_size < 0) {
  724.         buffer_size = bit_size = 0;

libavcodec/bitstream.h:723:8: Taking true branch
  721. {
  722.     int buffer_size= (bit_size+7)>>3;
  723.     if(buffer_size < 0 || bit_size < 0) {
              ^
  724.         buffer_size = bit_size = 0;
  725.         buffer = NULL;

libavcodec/bitstream.h:724:9: 
  722.     int buffer_size= (bit_size+7)>>3;
  723.     if(buffer_size < 0 || bit_size < 0) {
  724.         buffer_size = bit_size = 0;
               ^
  725.         buffer = NULL;
  726.     }

libavcodec/bitstream.h:725:9: 
  723.     if(buffer_size < 0 || bit_size < 0) {
  724.         buffer_size = bit_size = 0;
  725.         buffer = NULL;
               ^
  726.     }
  727. 

libavcodec/bitstream.h:728:5: 
  726.     }
  727. 
  728.     s->buffer= buffer;
           ^
  729.     s->size_in_bits= bit_size;
  730.     s->buffer_end= buffer + buffer_size;

libavcodec/bitstream.h:729:5: 
  727. 
  728.     s->buffer= buffer;
  729.     s->size_in_bits= bit_size;
           ^
  730.     s->buffer_end= buffer + buffer_size;
  731. #ifdef ALT_BITSTREAM_READER

libavcodec/bitstream.h:730:5: 
  728.     s->buffer= buffer;
  729.     s->size_in_bits= bit_size;
  730.     s->buffer_end= buffer + buffer_size;
           ^
  731. #ifdef ALT_BITSTREAM_READER
  732.     s->index=0;

libavcodec/bitstream.h:732:5: 
  730.     s->buffer_end= buffer + buffer_size;
  731. #ifdef ALT_BITSTREAM_READER
  732.     s->index=0;
           ^
  733. #elif defined LIBMPEG2_BITSTREAM_READER
  734.     s->buffer_ptr = (uint8_t*)((intptr_t)buffer&(~1));

libavcodec/bitstream.h:742:1: return from a call to init_get_bits
  740.     skip_bits_long(s, 0);
  741. #endif
  742. }
       ^
  743. 
  744. static inline void align_get_bits(GetBitContext *s)

libavcodec/mpc8.c:203:5: 
201.     }
202.     init_get_bits(gb, buf, buf_size * 8);
203.     skip_bits(gb, c->last_bits_used & 7);
         ^
204. 
205.     if(keyframe)

libavcodec/bitstream.h:639:1: start of procedure skip_bits()
  637. }
  638. 
  639. static inline void skip_bits(GetBitContext *s, int n){
       ^
  640.  //Note gcc seems to optimize this to s->index+=n for the ALT_READER :))
  641.     OPEN_READER(re, s)

libavcodec/bitstream.h:641:5: 
  639. static inline void skip_bits(GetBitContext *s, int n){
  640.  //Note gcc seems to optimize this to s->index+=n for the ALT_READER :))
  641.     OPEN_READER(re, s)
           ^
  642.     UPDATE_CACHE(re, s)
  643.     LAST_SKIP_BITS(re, s, n)

libavcodec/bitstream.h:642:5: 
  640.  //Note gcc seems to optimize this to s->index+=n for the ALT_READER :))
  641.     OPEN_READER(re, s)
  642.     UPDATE_CACHE(re, s)
           ^
  643.     LAST_SKIP_BITS(re, s, n)
  644.     CLOSE_READER(re, s)
