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

ffmpeg.c:3247:1: start of procedure opt_output_file()
3245. }
3246. 
3247. static void opt_output_file(const char *filename)
      ^
3248. {
3249.     AVFormatContext *oc;

ffmpeg.c:3252:5: 
3250.     int use_video, use_audio, use_subtitle;
3251.     int input_has_video, input_has_audio, input_has_subtitle;
3252.     AVFormatParameters params, *ap = &params;
          ^
3253. 
3254.     if (!strcmp(filename, "-"))

ffmpeg.c:3254:10: Taking true branch
3252.     AVFormatParameters params, *ap = &params;
3253. 
3254.     if (!strcmp(filename, "-"))
               ^
3255.         filename = "pipe:";
3256. 

ffmpeg.c:3255:9: 
3253. 
3254.     if (!strcmp(filename, "-"))
3255.         filename = "pipe:";
              ^
3256. 
3257.     oc = avformat_alloc_context();

ffmpeg.c:3257:5: 
3255.         filename = "pipe:";
3256. 
3257.     oc = avformat_alloc_context();
          ^
3258. 
3259.     if (!file_oformat) {

libavformat/options.c:77:1: start of procedure avformat_alloc_context()
  75. }
  76. 
  77. AVFormatContext *avformat_alloc_context(void)
      ^
  78. {
  79.     AVFormatContext *ic;

libavformat/options.c:80:5: 
  78. {
  79.     AVFormatContext *ic;
  80.     ic = av_malloc(sizeof(AVFormatContext));
          ^
  81.     if (!ic) return ic;
  82.     avformat_get_context_defaults(ic);

libavutil/mem.c:47:1: start of procedure av_malloc()
    45.    linker will do it automatically. */
    46. 
    47. void *av_malloc(unsigned int size)
        ^
    48. {
    49.     void *ptr = NULL;

libavutil/mem.c:49:5: 
    47. void *av_malloc(unsigned int size)
    48. {
    49.     void *ptr = NULL;
            ^
    50. #if CONFIG_MEMALIGN_HACK
    51.     long diff;

libavutil/mem.c:55:8: Taking false branch
    53. 
    54.     /* let's disallow possible ambiguous cases */
    55.     if(size > (INT_MAX-16) )
               ^
    56.         return NULL;
    57. 

libavutil/mem.c:66:9: Taking false branch
    64.     ((char*)ptr)[-1]= diff;
    65. #elif HAVE_POSIX_MEMALIGN
    66.     if (posix_memalign(&ptr,16,size))
                ^
    67.         ptr = NULL;
    68. #elif HAVE_MEMALIGN

libavutil/mem.c:99:5: 
     97.     ptr = malloc(size);
     98. #endif
     99.     return ptr;
             ^
    100. }
    101. 

libavutil/mem.c:100:1: return from a call to av_malloc
     98. #endif
     99.     return ptr;
    100. }
         ^
    101. 
    102. void *av_realloc(void *ptr, unsigned int size)

libavformat/options.c:81:10: Taking false branch
  79.     AVFormatContext *ic;
  80.     ic = av_malloc(sizeof(AVFormatContext));
  81.     if (!ic) return ic;
               ^
  82.     avformat_get_context_defaults(ic);
  83.     ic->av_class = &av_format_context_class;

libavformat/options.c:82:5: Skipping avformat_get_context_defaults(): empty list of specs
  80.     ic = av_malloc(sizeof(AVFormatContext));
  81.     if (!ic) return ic;
  82.     avformat_get_context_defaults(ic);
          ^
  83.     ic->av_class = &av_format_context_class;
  84.     return ic;

libavformat/options.c:83:5: 
  81.     if (!ic) return ic;
  82.     avformat_get_context_defaults(ic);
  83.     ic->av_class = &av_format_context_class;
          ^
  84.     return ic;
  85. }

libavformat/options.c:84:5: 
  82.     avformat_get_context_defaults(ic);
  83.     ic->av_class = &av_format_context_class;
  84.     return ic;
          ^
  85. }
  86. 

libavformat/options.c:85:1: return from a call to avformat_alloc_context
  83.     ic->av_class = &av_format_context_class;
  84.     return ic;
  85. }
      ^
  86. 
  87. #if LIBAVFORMAT_VERSION_MAJOR < 53

ffmpeg.c:3259:10: Taking true branch
3257.     oc = avformat_alloc_context();
3258. 
3259.     if (!file_oformat) {
               ^
3260.         file_oformat = guess_format(NULL, filename, NULL);
3261.         if (!file_oformat) {

ffmpeg.c:3260:9: Skipping guess_format(): empty list of specs
3258. 
3259.     if (!file_oformat) {
3260.         file_oformat = guess_format(NULL, filename, NULL);
              ^
3261.         if (!file_oformat) {
3262.             fprintf(stderr, "Unable to find a suitable output format for '%s'\n",

ffmpeg.c:3261:14: Taking true branch
3259.     if (!file_oformat) {
3260.         file_oformat = guess_format(NULL, filename, NULL);
3261.         if (!file_oformat) {
                   ^
3262.             fprintf(stderr, "Unable to find a suitable output format for '%s'\n",
3263.                     filename);

ffmpeg.c:3262:13: 
3260.         file_oformat = guess_format(NULL, filename, NULL);
3261.         if (!file_oformat) {
3262.             fprintf(stderr, "Unable to find a suitable output format for '%s'\n",
                  ^
3263.                     filename);
3264.             av_exit(1);

ffmpeg.c:3264:13: Skipping av_exit(): empty list of specs
3262.             fprintf(stderr, "Unable to find a suitable output format for '%s'\n",
3263.                     filename);
3264.             av_exit(1);
                  ^
3265.         }
3266.     }

ffmpeg.c:3268:5: 
3266.     }
3267. 
3268.     oc->oformat = file_oformat;
          ^
3269.     av_strlcpy(oc->filename, filename, sizeof(oc->filename));
3270. 

ffmpeg.c:3269:5: 
3267. 
3268.     oc->oformat = file_oformat;
3269.     av_strlcpy(oc->filename, filename, sizeof(oc->filename));
          ^
3270. 
3271.     if (!strcmp(file_oformat->name, "ffm") &&

libavutil/avstring.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/avstring.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/avstring.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/avstring.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/avstring.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/avstring.c:56:9: 
  54.         *dst++ = *src++;
  55.     if (len <= size)
  56.         *dst = 0;
              ^
  57.     return len + strlen(src) - 1;
  58. }

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

libavutil/avstring.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:3271:10: 
3269.     av_strlcpy(oc->filename, filename, sizeof(oc->filename));
3270. 
3271.     if (!strcmp(file_oformat->name, "ffm") &&
               ^
3272.         av_strstart(filename, "http:", NULL)) {
3273.         /* special case for files sent to ffserver: we get the stream
