avconv_opt.c:205: error: Null Dereference
  pointer `map` last assigned on line 202 could be null and is dereferenced by call to `strchr()` at line 205, column 16.

avconv_opt.c:189:1: start of procedure opt_map()
187. }
188. 
189. static int opt_map(void *optctx, const char *opt, const char *arg)
     ^
190. {
191.     OptionsContext *o = optctx;

avconv_opt.c:191:5: 
189. static int opt_map(void *optctx, const char *opt, const char *arg)
190. {
191.     OptionsContext *o = optctx;
         ^
192.     StreamMap *m = NULL;
193.     int i, negative = 0, file_idx;

avconv_opt.c:192:5: 
190. {
191.     OptionsContext *o = optctx;
192.     StreamMap *m = NULL;
         ^
193.     int i, negative = 0, file_idx;
194.     int sync_file_idx = -1, sync_stream_idx;

avconv_opt.c:193:5: 
191.     OptionsContext *o = optctx;
192.     StreamMap *m = NULL;
193.     int i, negative = 0, file_idx;
         ^
194.     int sync_file_idx = -1, sync_stream_idx;
195.     char *p, *sync;

avconv_opt.c:194:5: 
192.     StreamMap *m = NULL;
193.     int i, negative = 0, file_idx;
194.     int sync_file_idx = -1, sync_stream_idx;
         ^
195.     char *p, *sync;
196.     char *map;

avconv_opt.c:198:9: Taking false branch
196.     char *map;
197. 
198.     if (*arg == '-') {
             ^
199.         negative = 1;
200.         arg++;

avconv_opt.c:202:5: 
200.         arg++;
201.     }
202.     map = av_strdup(arg);
         ^
203. 
204.     /* parse sync stream first, just pick first matching stream */

libavutil/mem.c:212:1: start of procedure av_strdup()
  210. }
  211. 
  212. char *av_strdup(const char *s)
       ^
  213. {
  214.     char *ptr = NULL;

libavutil/mem.c:214:5: 
  212. char *av_strdup(const char *s)
  213. {
  214.     char *ptr = NULL;
           ^
  215.     if (s) {
  216.         int len = strlen(s) + 1;

libavutil/mem.c:215:9: Taking true branch
  213. {
  214.     char *ptr = NULL;
  215.     if (s) {
               ^
  216.         int len = strlen(s) + 1;
  217.         ptr = av_realloc(NULL, len);

libavutil/mem.c:216:9: 
  214.     char *ptr = NULL;
  215.     if (s) {
  216.         int len = strlen(s) + 1;
               ^
  217.         ptr = av_realloc(NULL, len);
  218.         if (ptr)

libavutil/mem.c:217:9: 
  215.     if (s) {
  216.         int len = strlen(s) + 1;
  217.         ptr = av_realloc(NULL, len);
               ^
  218.         if (ptr)
  219.             memcpy(ptr, s, len);

libavutil/mem.c:116:1: start of procedure av_realloc()
    114. }
    115. 
    116. void *av_realloc(void *ptr, size_t size)
         ^
    117. {
    118. #if CONFIG_MEMALIGN_HACK

libavutil/mem.c:123:9: Taking false branch
    121. 
    122.     /* let's disallow possibly ambiguous cases */
    123.     if (size > (INT_MAX - 16))
                 ^
    124.         return NULL;
    125. 

libavutil/mem.c:135:5: 
    133.     return _aligned_realloc(ptr, size, 32);
    134. #else
    135.     return realloc(ptr, size);
             ^
    136. #endif
    137. }

libavutil/mem.c:137:1: return from a call to av_realloc
    135.     return realloc(ptr, size);
    136. #endif
    137. }
         ^
    138. 
    139. int av_reallocp(void *ptr, size_t size)

libavutil/mem.c:218:13: Taking false branch
  216.         int len = strlen(s) + 1;
  217.         ptr = av_realloc(NULL, len);
  218.         if (ptr)
                   ^
  219.             memcpy(ptr, s, len);
  220.     }

libavutil/mem.c:221:5: 
  219.             memcpy(ptr, s, len);
  220.     }
  221.     return ptr;
           ^
  222. }
  223. 

libavutil/mem.c:222:1: return from a call to av_strdup
  220.     }
  221.     return ptr;
  222. }
       ^
  223. 
  224. static void fill16(uint8_t *dst, int len)

avconv_opt.c:205:9: 
203. 
204.     /* parse sync stream first, just pick first matching stream */
205.     if (sync = strchr(map, ',')) {
             ^
206.         *sync = 0;
207.         sync_file_idx = strtol(sync + 1, &sync, 0);
