ffmpeg.c:3310: error: Null Dereference
  pointer `file_oformat` last assigned on line 3299 could be null and is dereferenced at line 3310, column 17.

ffmpeg.c:3286:1: start of procedure opt_output_file()
3284. }
3285. 
3286. static void opt_output_file(const char *filename)
      ^
3287. {
3288.     AVFormatContext *oc;

ffmpeg.c:3291:5: 
3289.     int use_video, use_audio, use_subtitle;
3290.     int input_has_video, input_has_audio, input_has_subtitle;
3291.     AVFormatParameters params, *ap = &params;
          ^
3292. 
3293.     if (!strcmp(filename, "-"))

ffmpeg.c:3293:10: Taking false branch
3291.     AVFormatParameters params, *ap = &params;
3292. 
3293.     if (!strcmp(filename, "-"))
               ^
3294.         filename = "pipe:";
3295. 

ffmpeg.c:3296:5: 
3294.         filename = "pipe:";
3295. 
3296.     oc = av_alloc_format_context();
          ^
3297. 
3298.     if (!file_oformat) {

libavformat/utils.c:426:1: start of procedure av_alloc_format_context()
  424. }
  425. 
  426. AVFormatContext *av_alloc_format_context(void)
       ^
  427. {
  428.     AVFormatContext *ic;

libavformat/utils.c:429:5: 
  427. {
  428.     AVFormatContext *ic;
  429.     ic = av_malloc(sizeof(AVFormatContext));
           ^
  430.     if (!ic) return ic;
  431.     avformat_get_context_defaults(ic);

libavutil/mem.c:42:1: start of procedure av_malloc()
    40.    linker will do it automatically */
    41. 
    42. void *av_malloc(unsigned int size)
        ^
    43. {
    44.     void *ptr;

libavutil/mem.c:50:8: Taking false branch
    48. 
    49.     /* let's disallow possible ambiguous cases */
    50.     if(size > (INT_MAX-16) )
               ^
    51.         return NULL;
    52. 

libavutil/mem.c:61:5: Skipping memalign(): method has no implementation
    59.     ((char*)ptr)[-1]= diff;
    60. #elif defined (HAVE_MEMALIGN)
    61.     ptr = memalign(16,size);
            ^
    62.     /* Why 64?
    63.        Indeed, we should align it:

libavutil/mem.c:91:5: 
    89.     ptr = malloc(size);
    90. #endif
    91.     return ptr;
            ^
    92. }
    93. 

libavutil/mem.c:92:1: return from a call to av_malloc
    90. #endif
    91.     return ptr;
    92. }
        ^
    93. 
    94. void *av_realloc(void *ptr, unsigned int size)

libavformat/utils.c:430:10: Taking false branch
  428.     AVFormatContext *ic;
  429.     ic = av_malloc(sizeof(AVFormatContext));
  430.     if (!ic) return ic;
                ^
  431.     avformat_get_context_defaults(ic);
  432.     ic->av_class = &av_format_context_class;

libavformat/utils.c:431:5: Skipping avformat_get_context_defaults(): empty list of specs
  429.     ic = av_malloc(sizeof(AVFormatContext));
  430.     if (!ic) return ic;
  431.     avformat_get_context_defaults(ic);
           ^
  432.     ic->av_class = &av_format_context_class;
  433.     return ic;

libavformat/utils.c:432:5: 
  430.     if (!ic) return ic;
  431.     avformat_get_context_defaults(ic);
  432.     ic->av_class = &av_format_context_class;
           ^
  433.     return ic;
  434. }

libavformat/utils.c:433:5: 
  431.     avformat_get_context_defaults(ic);
  432.     ic->av_class = &av_format_context_class;
  433.     return ic;
           ^
  434. }
  435. 

libavformat/utils.c:434:1: return from a call to av_alloc_format_context
  432.     ic->av_class = &av_format_context_class;
  433.     return ic;
  434. }
       ^
  435. 
  436. int av_open_input_stream(AVFormatContext **ic_ptr,

ffmpeg.c:3298:10: Taking true branch
3296.     oc = av_alloc_format_context();
3297. 
3298.     if (!file_oformat) {
               ^
3299.         file_oformat = guess_format(NULL, filename, NULL);
3300.         if (!file_oformat) {

ffmpeg.c:3299:9: Skipping guess_format(): empty list of specs
3297. 
3298.     if (!file_oformat) {
3299.         file_oformat = guess_format(NULL, filename, NULL);
              ^
3300.         if (!file_oformat) {
3301.             fprintf(stderr, "Unable to find a suitable output format for '%s'\n",

ffmpeg.c:3300:14: Taking true branch
3298.     if (!file_oformat) {
3299.         file_oformat = guess_format(NULL, filename, NULL);
3300.         if (!file_oformat) {
                   ^
3301.             fprintf(stderr, "Unable to find a suitable output format for '%s'\n",
3302.                     filename);

ffmpeg.c:3301:13: 
3299.         file_oformat = guess_format(NULL, filename, NULL);
3300.         if (!file_oformat) {
3301.             fprintf(stderr, "Unable to find a suitable output format for '%s'\n",
                  ^
3302.                     filename);
3303.             av_exit(1);

ffmpeg.c:3303:13: Skipping av_exit(): empty list of specs
3301.             fprintf(stderr, "Unable to find a suitable output format for '%s'\n",
3302.                     filename);
3303.             av_exit(1);
                  ^
3304.         }
3305.     }

ffmpeg.c:3307:5: 
3305.     }
3306. 
3307.     oc->oformat = file_oformat;
          ^
3308.     av_strlcpy(oc->filename, filename, sizeof(oc->filename));
3309. 

ffmpeg.c:3308:5: 
3306. 
3307.     oc->oformat = file_oformat;
3308.     av_strlcpy(oc->filename, filename, sizeof(oc->filename));
          ^
3309. 
3310.     if (!strcmp(file_oformat->name, "ffm") &&

libavutil/string.c:50:1: start of procedure av_strlcpy()
  48. }
  49. 
  50. size_t av_strlcpy(char *dst, const char *src, size_t size)
      ^
  51. {
  52.     size_t len = 0;

libavutil/string.c:52:5: 
  50. size_t av_strlcpy(char *dst, const char *src, size_t size)
  51. {
  52.     size_t len = 0;
          ^
  53.     while (++len < size && *src)
  54.         *dst++ = *src++;

libavutil/string.c:53:12: Loop condition is true. Entering loop body
  51. {
  52.     size_t len = 0;
  53.     while (++len < size && *src)
                 ^
  54.         *dst++ = *src++;
  55.     if (len <= size)

libavutil/string.c:53:28: Loop condition is false. Leaving loop
  51. {
  52.     size_t len = 0;
  53.     while (++len < size && *src)
                                 ^
  54.         *dst++ = *src++;
  55.     if (len <= size)

libavutil/string.c:55:9: Taking true branch
  53.     while (++len < size && *src)
  54.         *dst++ = *src++;
  55.     if (len <= size)
              ^
  56.         *dst = 0;
  57.     return len + strlen(src) - 1;

libavutil/string.c:56:9: 
  54.         *dst++ = *src++;
  55.     if (len <= size)
  56.         *dst = 0;
              ^
  57.     return len + strlen(src) - 1;
  58. }

libavutil/string.c:57:5: 
  55.     if (len <= size)
  56.         *dst = 0;
  57.     return len + strlen(src) - 1;
          ^
  58. }
  59. 

libavutil/string.c:58:1: return from a call to av_strlcpy
  56.         *dst = 0;
  57.     return len + strlen(src) - 1;
  58. }
      ^
  59. 
  60. size_t av_strlcat(char *dst, const char *src, size_t size)

ffmpeg.c:3310:10: 
3308.     av_strlcpy(oc->filename, filename, sizeof(oc->filename));
3309. 
3310.     if (!strcmp(file_oformat->name, "ffm") &&
               ^
3311.         av_strstart(filename, "http:", NULL)) {
3312.         /* special case for files sent to ffserver: we get the stream
