avconv.c:3418: error: Null Dereference
  pointer `p` last assigned on line 3418 could be null and is dereferenced at line 3418, column 5.

avconv.c:3404:1: start of procedure opt_streamid()
3402. 
3403. /* arg format is "output-stream-index:streamid-value". */
3404. static int opt_streamid(OptionsContext *o, const char *opt, const char *arg)
      ^
3405. {
3406.     int idx;

avconv.c:3410:5: 
3408.     char idx_str[16];
3409. 
3410.     av_strlcpy(idx_str, arg, sizeof(idx_str));
          ^
3411.     p = strchr(idx_str, ':');
3412.     if (!p) {

libavutil/avstring.c:64:1: start of procedure av_strlcpy()
  62. }
  63. 
  64. size_t av_strlcpy(char *dst, const char *src, size_t size)
      ^
  65. {
  66.     size_t len = 0;

libavutil/avstring.c:66:5: 
  64. size_t av_strlcpy(char *dst, const char *src, size_t size)
  65. {
  66.     size_t len = 0;
          ^
  67.     while (++len < size && *src)
  68.         *dst++ = *src++;

libavutil/avstring.c:67:12: Loop condition is true. Entering loop body
  65. {
  66.     size_t len = 0;
  67.     while (++len < size && *src)
                 ^
  68.         *dst++ = *src++;
  69.     if (len <= size)

libavutil/avstring.c:67:28: Loop condition is false. Leaving loop
  65. {
  66.     size_t len = 0;
  67.     while (++len < size && *src)
                                 ^
  68.         *dst++ = *src++;
  69.     if (len <= size)

libavutil/avstring.c:69:9: Taking true branch
  67.     while (++len < size && *src)
  68.         *dst++ = *src++;
  69.     if (len <= size)
              ^
  70.         *dst = 0;
  71.     return len + strlen(src) - 1;

libavutil/avstring.c:70:9: 
  68.         *dst++ = *src++;
  69.     if (len <= size)
  70.         *dst = 0;
              ^
  71.     return len + strlen(src) - 1;
  72. }

libavutil/avstring.c:71:5: 
  69.     if (len <= size)
  70.         *dst = 0;
  71.     return len + strlen(src) - 1;
          ^
  72. }
  73. 

libavutil/avstring.c:72:1: return from a call to av_strlcpy
  70.         *dst = 0;
  71.     return len + strlen(src) - 1;
  72. }
      ^
  73. 
  74. size_t av_strlcat(char *dst, const char *src, size_t size)

avconv.c:3411:5: 
3409. 
3410.     av_strlcpy(idx_str, arg, sizeof(idx_str));
3411.     p = strchr(idx_str, ':');
          ^
3412.     if (!p) {
3413.         av_log(NULL, AV_LOG_FATAL,

avconv.c:3412:10: Taking true branch
3410.     av_strlcpy(idx_str, arg, sizeof(idx_str));
3411.     p = strchr(idx_str, ':');
3412.     if (!p) {
               ^
3413.         av_log(NULL, AV_LOG_FATAL,
3414.                "Invalid value '%s' for option '%s', required syntax is 'index:value'\n",

avconv.c:3413:9: Skipping av_log(): empty list of specs
3411.     p = strchr(idx_str, ':');
3412.     if (!p) {
3413.         av_log(NULL, AV_LOG_FATAL,
              ^
3414.                "Invalid value '%s' for option '%s', required syntax is 'index:value'\n",
3415.                arg, opt);

avconv.c:3416:9: Skipping exit_program(): empty list of specs
3414.                "Invalid value '%s' for option '%s', required syntax is 'index:value'\n",
3415.                arg, opt);
3416.         exit_program(1);
              ^
3417.     }
3418.     *p++ = '\0';

avconv.c:3418:5: 
3416.         exit_program(1);
3417.     }
3418.     *p++ = '\0';
          ^
3419.     idx = parse_number_or_die(opt, idx_str, OPT_INT, 0, INT_MAX);
3420.     o->streamid_map = grow_array(o->streamid_map, sizeof(*o->streamid_map), &o->nb_streamid_map, idx+1);
