libavcodec/utils.c:374: error: Null Dereference
  pointer `buf` last assigned on line 364 could be null and is dereferenced at line 374, column 5.

libavcodec/utils.c:356:1: start of procedure avcodec_default_release_buffer()
354. }
355. 
356. void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic){
     ^
357.     int i;
358.     InternalBuffer *buf, *last;

libavcodec/utils.c:360:5: 
358.     InternalBuffer *buf, *last;
359. 
360.     assert(pic->type==FF_BUFFER_TYPE_INTERNAL);
         ^
361.     assert(s->internal_buffer_count);
362. 

libavcodec/utils.c:361:5: 
359. 
360.     assert(pic->type==FF_BUFFER_TYPE_INTERNAL);
361.     assert(s->internal_buffer_count);
         ^
362. 
363.     if(s->internal_buffer){

libavcodec/utils.c:363:8: Taking true branch
361.     assert(s->internal_buffer_count);
362. 
363.     if(s->internal_buffer){
            ^
364.     buf = NULL; /* avoids warning */
365.     for(i=0; i<s->internal_buffer_count; i++){ //just 3-5 checks so is not worth to optimize

libavcodec/utils.c:364:5: 
362. 
363.     if(s->internal_buffer){
364.     buf = NULL; /* avoids warning */
         ^
365.     for(i=0; i<s->internal_buffer_count; i++){ //just 3-5 checks so is not worth to optimize
366.         buf= &((InternalBuffer*)s->internal_buffer)[i];

libavcodec/utils.c:365:9: 
363.     if(s->internal_buffer){
364.     buf = NULL; /* avoids warning */
365.     for(i=0; i<s->internal_buffer_count; i++){ //just 3-5 checks so is not worth to optimize
             ^
366.         buf= &((InternalBuffer*)s->internal_buffer)[i];
367.         if(buf->data[0] == pic->data[0])

libavcodec/utils.c:365:14: Loop condition is false. Leaving loop
363.     if(s->internal_buffer){
364.     buf = NULL; /* avoids warning */
365.     for(i=0; i<s->internal_buffer_count; i++){ //just 3-5 checks so is not worth to optimize
                  ^
366.         buf= &((InternalBuffer*)s->internal_buffer)[i];
367.         if(buf->data[0] == pic->data[0])

libavcodec/utils.c:370:5: 
368.             break;
369.     }
370.     assert(i < s->internal_buffer_count);
         ^
371.     s->internal_buffer_count--;
372.     last = &((InternalBuffer*)s->internal_buffer)[s->internal_buffer_count];

libavcodec/utils.c:371:5: 
369.     }
370.     assert(i < s->internal_buffer_count);
371.     s->internal_buffer_count--;
         ^
372.     last = &((InternalBuffer*)s->internal_buffer)[s->internal_buffer_count];
373. 

libavcodec/utils.c:372:5: 
370.     assert(i < s->internal_buffer_count);
371.     s->internal_buffer_count--;
372.     last = &((InternalBuffer*)s->internal_buffer)[s->internal_buffer_count];
         ^
373. 
374.     FFSWAP(InternalBuffer, *buf, *last);

libavcodec/utils.c:374:5: 
372.     last = &((InternalBuffer*)s->internal_buffer)[s->internal_buffer_count];
373. 
374.     FFSWAP(InternalBuffer, *buf, *last);
         ^
375.     }
376. 
