avconv.c:2859: error: Null Dereference
  pointer `meta_in` last assigned on line 2793 could be null and is dereferenced at line 2859, column 32.

avconv.c:2791:1: start of procedure copy_metadata()
2789. }
2790. 
2791. static int copy_metadata(char *outspec, char *inspec, AVFormatContext *oc, AVFormatContext *ic, OptionsContext *o)
      ^
2792. {
2793.     AVDictionary **meta_in = NULL;

avconv.c:2793:5: 
2791. static int copy_metadata(char *outspec, char *inspec, AVFormatContext *oc, AVFormatContext *ic, OptionsContext *o)
2792. {
2793.     AVDictionary **meta_in = NULL;
          ^
2794.     AVDictionary **meta_out;
2795.     int i, ret = 0;

avconv.c:2795:5: 
2793.     AVDictionary **meta_in = NULL;
2794.     AVDictionary **meta_out;
2795.     int i, ret = 0;
          ^
2796.     char type_in, type_out;
2797.     const char *istream_spec = NULL, *ostream_spec = NULL;

avconv.c:2797:5: 
2795.     int i, ret = 0;
2796.     char type_in, type_out;
2797.     const char *istream_spec = NULL, *ostream_spec = NULL;
          ^
2798.     int idx_in = 0, idx_out = 0;
2799. 

avconv.c:2798:5: 
2796.     char type_in, type_out;
2797.     const char *istream_spec = NULL, *ostream_spec = NULL;
2798.     int idx_in = 0, idx_out = 0;
          ^
2799. 
2800.     parse_meta_type(inspec,  &type_in,  &idx_in,  &istream_spec);

avconv.c:2800:5: 
2798.     int idx_in = 0, idx_out = 0;
2799. 
2800.     parse_meta_type(inspec,  &type_in,  &idx_in,  &istream_spec);
          ^
2801.     parse_meta_type(outspec, &type_out, &idx_out, &ostream_spec);
2802. 

avconv.c:2764:1: start of procedure parse_meta_type()
  2762.  * @param stream_spec for type s, the stream specifier is written here
  2763.  */
  2764. static void parse_meta_type(char *arg, char *type, int *index, const char **stream_spec)
        ^
  2765. {
  2766.     if (*arg) {

avconv.c:2766:9: Taking true branch
  2764. static void parse_meta_type(char *arg, char *type, int *index, const char **stream_spec)
  2765. {
  2766.     if (*arg) {
                ^
  2767.         *type = *arg;
  2768.         switch (*arg) {

avconv.c:2767:9: 
  2765. {
  2766.     if (*arg) {
  2767.         *type = *arg;
                ^
  2768.         switch (*arg) {
  2769.         case 'g':

avconv.c:2768:9: 
  2766.     if (*arg) {
  2767.         *type = *arg;
  2768.         switch (*arg) {
                ^
  2769.         case 'g':
  2770.             break;

avconv.c:2769:9: Switch condition is false. Skipping switch case
  2767.         *type = *arg;
  2768.         switch (*arg) {
  2769.         case 'g':
                ^
  2770.             break;
  2771.         case 's':

avconv.c:2771:9: Switch condition is false. Skipping switch case
  2769.         case 'g':
  2770.             break;
  2771.         case 's':
                ^
  2772.             if (*(++arg) && *arg != ':') {
  2773.                 av_log(NULL, AV_LOG_FATAL, "Invalid metadata specifier %s.\n", arg);

avconv.c:2778:9: Switch condition is false. Skipping switch case
  2776.             *stream_spec = *arg == ':' ? arg + 1 : "";
  2777.             break;
  2778.         case 'c':
                ^
  2779.         case 'p':
  2780.             if (*(++arg) == ':')

avconv.c:2779:9: Switch condition is false. Skipping switch case
  2777.             break;
  2778.         case 'c':
  2779.         case 'p':
                ^
  2780.             if (*(++arg) == ':')
  2781.                 *index = strtol(++arg, NULL, 0);

avconv.c:2784:13: Skipping av_log(): empty list of specs
  2782.             break;
  2783.         default:
  2784.             av_log(NULL, AV_LOG_FATAL, "Invalid metadata type %c.\n", *arg);
                    ^
  2785.             exit_program(1);
  2786.         }

avconv.c:2785:13: Skipping exit_program(): empty list of specs
  2783.         default:
  2784.             av_log(NULL, AV_LOG_FATAL, "Invalid metadata type %c.\n", *arg);
  2785.             exit_program(1);
                    ^
  2786.         }
  2787.     } else

avconv.c:2766:5: 
  2764. static void parse_meta_type(char *arg, char *type, int *index, const char **stream_spec)
  2765. {
  2766.     if (*arg) {
            ^
  2767.         *type = *arg;
  2768.         switch (*arg) {

avconv.c:2789:1: return from a call to parse_meta_type
  2787.     } else
  2788.         *type = 'g';
  2789. }
        ^
  2790. 
  2791. static int copy_metadata(char *outspec, char *inspec, AVFormatContext *oc, AVFormatContext *ic, OptionsContext *o)

avconv.c:2801:5: 
2799. 
2800.     parse_meta_type(inspec,  &type_in,  &idx_in,  &istream_spec);
2801.     parse_meta_type(outspec, &type_out, &idx_out, &ostream_spec);
          ^
2802. 
2803.     if (type_in == 'g' || type_out == 'g')

avconv.c:2764:1: start of procedure parse_meta_type()
  2762.  * @param stream_spec for type s, the stream specifier is written here
  2763.  */
  2764. static void parse_meta_type(char *arg, char *type, int *index, const char **stream_spec)
        ^
  2765. {
  2766.     if (*arg) {

avconv.c:2766:9: Taking true branch
  2764. static void parse_meta_type(char *arg, char *type, int *index, const char **stream_spec)
  2765. {
  2766.     if (*arg) {
                ^
  2767.         *type = *arg;
  2768.         switch (*arg) {

avconv.c:2767:9: 
  2765. {
  2766.     if (*arg) {
  2767.         *type = *arg;
                ^
  2768.         switch (*arg) {
  2769.         case 'g':

avconv.c:2768:9: 
  2766.     if (*arg) {
  2767.         *type = *arg;
  2768.         switch (*arg) {
                ^
  2769.         case 'g':
  2770.             break;

avconv.c:2769:9: Switch condition is false. Skipping switch case
  2767.         *type = *arg;
  2768.         switch (*arg) {
  2769.         case 'g':
                ^
  2770.             break;
  2771.         case 's':

avconv.c:2771:9: Switch condition is false. Skipping switch case
  2769.         case 'g':
  2770.             break;
  2771.         case 's':
                ^
  2772.             if (*(++arg) && *arg != ':') {
  2773.                 av_log(NULL, AV_LOG_FATAL, "Invalid metadata specifier %s.\n", arg);

avconv.c:2778:9: Switch condition is false. Skipping switch case
  2776.             *stream_spec = *arg == ':' ? arg + 1 : "";
  2777.             break;
  2778.         case 'c':
                ^
  2779.         case 'p':
  2780.             if (*(++arg) == ':')

avconv.c:2779:9: Switch condition is false. Skipping switch case
  2777.             break;
  2778.         case 'c':
  2779.         case 'p':
                ^
  2780.             if (*(++arg) == ':')
  2781.                 *index = strtol(++arg, NULL, 0);

avconv.c:2784:13: Skipping av_log(): empty list of specs
  2782.             break;
  2783.         default:
  2784.             av_log(NULL, AV_LOG_FATAL, "Invalid metadata type %c.\n", *arg);
                    ^
  2785.             exit_program(1);
  2786.         }

avconv.c:2785:13: Skipping exit_program(): empty list of specs
  2783.         default:
  2784.             av_log(NULL, AV_LOG_FATAL, "Invalid metadata type %c.\n", *arg);
  2785.             exit_program(1);
                    ^
  2786.         }
  2787.     } else

avconv.c:2766:5: 
  2764. static void parse_meta_type(char *arg, char *type, int *index, const char **stream_spec)
  2765. {
  2766.     if (*arg) {
            ^
  2767.         *type = *arg;
  2768.         switch (*arg) {

avconv.c:2789:1: return from a call to parse_meta_type
  2787.     } else
  2788.         *type = 'g';
  2789. }
        ^
  2790. 
  2791. static int copy_metadata(char *outspec, char *inspec, AVFormatContext *oc, AVFormatContext *ic, OptionsContext *o)

avconv.c:2803:9: Taking false branch
2801.     parse_meta_type(outspec, &type_out, &idx_out, &ostream_spec);
2802. 
2803.     if (type_in == 'g' || type_out == 'g')
              ^
2804.         o->metadata_global_manual = 1;
2805.     if (type_in == 's' || type_out == 's')

avconv.c:2803:27: Taking false branch
2801.     parse_meta_type(outspec, &type_out, &idx_out, &ostream_spec);
2802. 
2803.     if (type_in == 'g' || type_out == 'g')
                                ^
2804.         o->metadata_global_manual = 1;
2805.     if (type_in == 's' || type_out == 's')

avconv.c:2805:9: Taking false branch
2803.     if (type_in == 'g' || type_out == 'g')
2804.         o->metadata_global_manual = 1;
2805.     if (type_in == 's' || type_out == 's')
              ^
2806.         o->metadata_streams_manual = 1;
2807.     if (type_in == 'c' || type_out == 'c')

avconv.c:2805:27: Taking false branch
2803.     if (type_in == 'g' || type_out == 'g')
2804.         o->metadata_global_manual = 1;
2805.     if (type_in == 's' || type_out == 's')
                                ^
2806.         o->metadata_streams_manual = 1;
2807.     if (type_in == 'c' || type_out == 'c')

avconv.c:2807:9: Taking false branch
2805.     if (type_in == 's' || type_out == 's')
2806.         o->metadata_streams_manual = 1;
2807.     if (type_in == 'c' || type_out == 'c')
              ^
2808.         o->metadata_chapters_manual = 1;
2809. 

avconv.c:2807:27: Taking false branch
2805.     if (type_in == 's' || type_out == 's')
2806.         o->metadata_streams_manual = 1;
2807.     if (type_in == 'c' || type_out == 'c')
                                ^
2808.         o->metadata_chapters_manual = 1;
2809. 

avconv.c:2832:5: Switch condition is false. Skipping switch case
2830.         }\
2831. 
2832.     SET_DICT(type_in, meta_in, ic, idx_in);
          ^
2833.     SET_DICT(type_out, meta_out, oc, idx_out);
2834. 

avconv.c:2832:5: Switch condition is false. Skipping switch case
2830.         }\
2831. 
2832.     SET_DICT(type_in, meta_in, ic, idx_in);
          ^
2833.     SET_DICT(type_out, meta_out, oc, idx_out);
2834. 

avconv.c:2832:5: Switch condition is false. Skipping switch case
2830.         }\
2831. 
2832.     SET_DICT(type_in, meta_in, ic, idx_in);
          ^
2833.     SET_DICT(type_out, meta_out, oc, idx_out);
2834. 

avconv.c:2833:5: Switch condition is false. Skipping switch case
2831. 
2832.     SET_DICT(type_in, meta_in, ic, idx_in);
2833.     SET_DICT(type_out, meta_out, oc, idx_out);
          ^
2834. 
2835.     /* for input streams choose first matching stream */

avconv.c:2833:5: Switch condition is false. Skipping switch case
2831. 
2832.     SET_DICT(type_in, meta_in, ic, idx_in);
2833.     SET_DICT(type_out, meta_out, oc, idx_out);
          ^
2834. 
2835.     /* for input streams choose first matching stream */

avconv.c:2833:5: Switch condition is false. Skipping switch case
2831. 
2832.     SET_DICT(type_in, meta_in, ic, idx_in);
2833.     SET_DICT(type_out, meta_out, oc, idx_out);
          ^
2834. 
2835.     /* for input streams choose first matching stream */

avconv.c:2836:9: Taking false branch
2834. 
2835.     /* for input streams choose first matching stream */
2836.     if (type_in == 's') {
              ^
2837.         for (i = 0; i < ic->nb_streams; i++) {
2838.             if ((ret = check_stream_specifier(ic, ic->streams[i], istream_spec)) > 0) {

avconv.c:2850:9: Taking false branch
2848.     }
2849. 
2850.     if (type_out == 's') {
              ^
2851.         for (i = 0; i < oc->nb_streams; i++) {
2852.             if ((ret = check_stream_specifier(oc, oc->streams[i], ostream_spec)) > 0) {

avconv.c:2859:9: 
2857.         }
2858.     } else
2859.         av_dict_copy(meta_out, *meta_in, AV_DICT_DONT_OVERWRITE);
              ^
2860. 
2861.     return 0;
