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

avconv.c:3213:1: start of procedure opt_streamid()
3211. 
3212. /* arg format is "output-stream-index:streamid-value". */
3213. static int opt_streamid(OptionsContext *o, const char *opt, const char *arg)
      ^
3214. {
3215.     int idx;

avconv.c:3219:5: 
3217.     char idx_str[16];
3218. 
3219.     av_strlcpy(idx_str, arg, sizeof(idx_str));
          ^
3220.     p = strchr(idx_str, ':');
3221.     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:3220:5: 
3218. 
3219.     av_strlcpy(idx_str, arg, sizeof(idx_str));
3220.     p = strchr(idx_str, ':');
          ^
3221.     if (!p) {
3222.         fprintf(stderr,

avconv.c:3221:10: Taking true branch
3219.     av_strlcpy(idx_str, arg, sizeof(idx_str));
3220.     p = strchr(idx_str, ':');
3221.     if (!p) {
               ^
3222.         fprintf(stderr,
3223.                 "Invalid value '%s' for option '%s', required syntax is 'index:value'\n",

avconv.c:3222:9: 
3220.     p = strchr(idx_str, ':');
3221.     if (!p) {
3222.         fprintf(stderr,
              ^
3223.                 "Invalid value '%s' for option '%s', required syntax is 'index:value'\n",
3224.                 arg, opt);

avconv.c:3225:9: Skipping exit_program(): empty list of specs
3223.                 "Invalid value '%s' for option '%s', required syntax is 'index:value'\n",
3224.                 arg, opt);
3225.         exit_program(1);
              ^
3226.     }
3227.     *p++ = '\0';

avconv.c:3227:5: 
3225.         exit_program(1);
3226.     }
3227.     *p++ = '\0';
          ^
3228.     idx = parse_number_or_die(opt, idx_str, OPT_INT, 0, INT_MAX);
3229.     o->streamid_map = grow_array(o->streamid_map, sizeof(*o->streamid_map), &o->nb_streamid_map, idx+1);
