libavcodec/ra144.c:310: error: Null Dereference
  pointer `&gb->buffer` last assigned on line 307 could be null and is dereferenced by call to `get_bits()` at line 310, column 38.

libavcodec/ra144.c:284:1: start of procedure ra144_decode_frame()
282. 
283. /** Uncompress one block (20 bytes -> 160*2 bytes) */
284. static int ra144_decode_frame(AVCodecContext * avctx, void *vdata,
     ^
285.                               int *data_size, const uint8_t *buf, int buf_size)
286. {

libavcodec/ra144.c:287:5: 
285.                               int *data_size, const uint8_t *buf, int buf_size)
286. {
287.     static const uint8_t sizes[10] = {6, 5, 5, 4, 4, 3, 3, 3, 3, 2};
         ^
288.     unsigned int refl_rms[4];    // RMS of the reflection coefficients
289.     uint16_t block_coefs[4][30]; // LPC coefficients of each sub-block

libavcodec/ra144.c:292:5: 
290.     unsigned int lpc_refl[10];   // LPC reflection coefficients of the frame
291.     int i, j;
292.     int16_t *data = vdata;
         ^
293.     unsigned int energy;
294. 

libavcodec/ra144.c:295:5: 
293.     unsigned int energy;
294. 
295.     RA144Context *ractx = avctx->priv_data;
         ^
296.     GetBitContext gb;
297. 

libavcodec/ra144.c:298:9: Taking false branch
296.     GetBitContext gb;
297. 
298.     if (*data_size < 2*160)
             ^
299.         return -1;
300. 

libavcodec/ra144.c:301:8: Taking false branch
299.         return -1;
300. 
301.     if(buf_size < 20) {
            ^
302.         av_log(avctx, AV_LOG_ERROR,
303.                "Frame too small (%d bytes). Truncated file?\n", buf_size);

libavcodec/ra144.c:307:5: 
305.         return buf_size;
306.     }
307.     init_get_bits(&gb, buf, 20 * 8);
         ^
308. 
309.     for (i=0; i<10; i++)

libavcodec/bitstream.h:745:1: start of procedure init_get_bits()
  743.  * @param bit_size the size of the buffer in bits
  744.  */
  745. static inline void init_get_bits(GetBitContext *s,
       ^
  746.                    const uint8_t *buffer, int bit_size)
  747. {

libavcodec/bitstream.h:748:5: 
  746.                    const uint8_t *buffer, int bit_size)
  747. {
  748.     int buffer_size= (bit_size+7)>>3;
           ^
  749.     if(buffer_size < 0 || bit_size < 0) {
  750.         buffer_size = bit_size = 0;

libavcodec/bitstream.h:749:8: Taking true branch
  747. {
  748.     int buffer_size= (bit_size+7)>>3;
  749.     if(buffer_size < 0 || bit_size < 0) {
              ^
  750.         buffer_size = bit_size = 0;
  751.         buffer = NULL;

libavcodec/bitstream.h:750:9: 
  748.     int buffer_size= (bit_size+7)>>3;
  749.     if(buffer_size < 0 || bit_size < 0) {
  750.         buffer_size = bit_size = 0;
               ^
  751.         buffer = NULL;
  752.     }

libavcodec/bitstream.h:751:9: 
  749.     if(buffer_size < 0 || bit_size < 0) {
  750.         buffer_size = bit_size = 0;
  751.         buffer = NULL;
               ^
  752.     }
  753. 

libavcodec/bitstream.h:754:5: 
  752.     }
  753. 
  754.     s->buffer= buffer;
           ^
  755.     s->size_in_bits= bit_size;
  756.     s->buffer_end= buffer + buffer_size;

libavcodec/bitstream.h:755:5: 
  753. 
  754.     s->buffer= buffer;
  755.     s->size_in_bits= bit_size;
           ^
  756.     s->buffer_end= buffer + buffer_size;
  757. #ifdef ALT_BITSTREAM_READER

libavcodec/bitstream.h:756:5: 
  754.     s->buffer= buffer;
  755.     s->size_in_bits= bit_size;
  756.     s->buffer_end= buffer + buffer_size;
           ^
  757. #ifdef ALT_BITSTREAM_READER
  758.     s->index=0;

libavcodec/bitstream.h:758:5: 
  756.     s->buffer_end= buffer + buffer_size;
  757. #ifdef ALT_BITSTREAM_READER
  758.     s->index=0;
           ^
  759. #elif defined LIBMPEG2_BITSTREAM_READER
  760.     s->buffer_ptr = (uint8_t*)((intptr_t)buffer&(~1));

libavcodec/bitstream.h:768:1: return from a call to init_get_bits
  766.     skip_bits_long(s, 0);
  767. #endif
  768. }
       ^
  769. 
  770. static inline void align_get_bits(GetBitContext *s)

libavcodec/ra144.c:309:10: 
307.     init_get_bits(&gb, buf, 20 * 8);
308. 
309.     for (i=0; i<10; i++)
              ^
310.         lpc_refl[i] = lpc_refl_cb[i][get_bits(&gb, sizes[i])];
311. 

libavcodec/ra144.c:309:15: Loop condition is true. Entering loop body
307.     init_get_bits(&gb, buf, 20 * 8);
308. 
309.     for (i=0; i<10; i++)
                   ^
310.         lpc_refl[i] = lpc_refl_cb[i][get_bits(&gb, sizes[i])];
311. 

libavcodec/ra144.c:310:9: 
308. 
309.     for (i=0; i<10; i++)
310.         lpc_refl[i] = lpc_refl_cb[i][get_bits(&gb, sizes[i])];
             ^
311. 
312.     eval_coefs(ractx->lpc_coef[0], lpc_refl);

libavcodec/bitstream.h:642:1: start of procedure get_bits()
  640.  * Note, the alt bitstream reader can read up to 25 bits, but the libmpeg2 reader can't
  641.  */
  642. static inline unsigned int get_bits(GetBitContext *s, int n){
       ^
  643.     register int tmp;
  644.     OPEN_READER(re, s)

libavcodec/bitstream.h:644:5: 
  642. static inline unsigned int get_bits(GetBitContext *s, int n){
  643.     register int tmp;
  644.     OPEN_READER(re, s)
           ^
  645.     UPDATE_CACHE(re, s)
  646.     tmp= SHOW_UBITS(re, s, n);

libavcodec/bitstream.h:645:5: 
  643.     register int tmp;
  644.     OPEN_READER(re, s)
  645.     UPDATE_CACHE(re, s)
           ^
  646.     tmp= SHOW_UBITS(re, s, n);
  647.     LAST_SKIP_BITS(re, s, n)
