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

avconv_opt.c:202:1: start of procedure opt_map()
200. }
201. 
202. static int opt_map(void *optctx, const char *opt, const char *arg)
     ^
203. {
204.     OptionsContext *o = optctx;

avconv_opt.c:204:5: 
202. static int opt_map(void *optctx, const char *opt, const char *arg)
203. {
204.     OptionsContext *o = optctx;
         ^
205.     StreamMap *m = NULL;
206.     int i, negative = 0, file_idx;

avconv_opt.c:205:5: 
203. {
204.     OptionsContext *o = optctx;
205.     StreamMap *m = NULL;
         ^
206.     int i, negative = 0, file_idx;
207.     int sync_file_idx = -1, sync_stream_idx;

avconv_opt.c:206:5: 
204.     OptionsContext *o = optctx;
205.     StreamMap *m = NULL;
206.     int i, negative = 0, file_idx;
         ^
207.     int sync_file_idx = -1, sync_stream_idx;
208.     char *p, *sync;

avconv_opt.c:207:5: 
205.     StreamMap *m = NULL;
206.     int i, negative = 0, file_idx;
207.     int sync_file_idx = -1, sync_stream_idx;
         ^
208.     char *p, *sync;
209.     char *map;

avconv_opt.c:211:9: Taking false branch
209.     char *map;
210. 
211.     if (*arg == '-') {
             ^
212.         negative = 1;
213.         arg++;

avconv_opt.c:215:5: 
213.         arg++;
214.     }
215.     map = av_strdup(arg);
         ^
216. 
217.     /* parse sync stream first, just pick first matching stream */

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

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

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

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

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

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

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

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

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

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

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

libavutil/mem.c:223:1: return from a call to av_strdup
  221.     }
  222.     return ptr;
  223. }
       ^
  224. 
  225. char *av_strndup(const char *s, size_t len)

avconv_opt.c:218:9: 
216. 
217.     /* parse sync stream first, just pick first matching stream */
218.     if (sync = strchr(map, ',')) {
             ^
219.         *sync = 0;
220.         sync_file_idx = strtol(sync + 1, &sync, 0);
