ffmpeg.c:4042: error: Null Dereference
  pointer `f` last assigned on line 4037 could be null and is dereferenced by call to `feof()` at line 4042, column 12.

ffmpeg.c:4029:1: start of procedure opt_preset()
4027. }
4028. 
4029. static int opt_preset(const char *opt, const char *arg)
      ^
4030. {
4031.     FILE *f=NULL;

ffmpeg.c:4031:5: 
4029. static int opt_preset(const char *opt, const char *arg)
4030. {
4031.     FILE *f=NULL;
          ^
4032.     char filename[1000], tmp[1000], tmp2[1000], line[1000];
4033.     char *codec_name = *opt == 'v' ? video_codec_name :

ffmpeg.c:4033:24: Condition is false
4031.     FILE *f=NULL;
4032.     char filename[1000], tmp[1000], tmp2[1000], line[1000];
4033.     char *codec_name = *opt == 'v' ? video_codec_name :
                             ^
4034.                        *opt == 'a' ? audio_codec_name :
4035.                                      subtitle_codec_name;

ffmpeg.c:4034:24: Condition is false
4032.     char filename[1000], tmp[1000], tmp2[1000], line[1000];
4033.     char *codec_name = *opt == 'v' ? video_codec_name :
4034.                        *opt == 'a' ? audio_codec_name :
                             ^
4035.                                      subtitle_codec_name;
4036. 

ffmpeg.c:4033:24: 
4031.     FILE *f=NULL;
4032.     char filename[1000], tmp[1000], tmp2[1000], line[1000];
4033.     char *codec_name = *opt == 'v' ? video_codec_name :
                             ^
4034.                        *opt == 'a' ? audio_codec_name :
4035.                                      subtitle_codec_name;

ffmpeg.c:4033:5: 
4031.     FILE *f=NULL;
4032.     char filename[1000], tmp[1000], tmp2[1000], line[1000];
4033.     char *codec_name = *opt == 'v' ? video_codec_name :
          ^
4034.                        *opt == 'a' ? audio_codec_name :
4035.                                      subtitle_codec_name;

ffmpeg.c:4037:64: Condition is false
4035.                                      subtitle_codec_name;
4036. 
4037.     if (!(f = get_preset_file(filename, sizeof(filename), arg, *opt == 'f', codec_name))) {
                                                                     ^
4038.         fprintf(stderr, "File for preset '%s' not found\n", arg);
4039.         ffmpeg_exit(1);

ffmpeg.c:4037:11: Taking true branch
4035.                                      subtitle_codec_name;
4036. 
4037.     if (!(f = get_preset_file(filename, sizeof(filename), arg, *opt == 'f', codec_name))) {
                ^
4038.         fprintf(stderr, "File for preset '%s' not found\n", arg);
4039.         ffmpeg_exit(1);

ffmpeg.c:4038:9: 
4036. 
4037.     if (!(f = get_preset_file(filename, sizeof(filename), arg, *opt == 'f', codec_name))) {
4038.         fprintf(stderr, "File for preset '%s' not found\n", arg);
              ^
4039.         ffmpeg_exit(1);
4040.     }

ffmpeg.c:4039:9: Skipping ffmpeg_exit(): empty list of specs
4037.     if (!(f = get_preset_file(filename, sizeof(filename), arg, *opt == 'f', codec_name))) {
4038.         fprintf(stderr, "File for preset '%s' not found\n", arg);
4039.         ffmpeg_exit(1);
              ^
4040.     }
4041. 

ffmpeg.c:4042:12: 
4040.     }
4041. 
4042.     while(!feof(f)){
                 ^
4043.         int e= fscanf(f, "%999[^\n]\n", line) - 1;
4044.         if(line[0] == '#' && !e)
