libavformat/rdt.c:434: error: Memory Leak
  memory dynamically allocated by call to `av_realloc()` at line 425, column 38 is not reachable after line 434, column 17.

libavformat/rdt.c:406:1: start of procedure rdt_parse_sdp_line()
404. }
405. 
406. static int
     ^
407. rdt_parse_sdp_line (AVFormatContext *s, int st_index,
408.                     PayloadContext *rdt, const char *line)

libavformat/rdt.c:410:5: 
408.                     PayloadContext *rdt, const char *line)
409. {
410.     AVStream *stream = s->streams[st_index];
         ^
411.     const char *p = line;
412. 

libavformat/rdt.c:411:5: 
409. {
410.     AVStream *stream = s->streams[st_index];
411.     const char *p = line;
         ^
412. 
413.     if (av_strstart(p, "OpaqueData:buffer;", &p)) {

libavformat/rdt.c:413:9: Taking false branch
411.     const char *p = line;
412. 
413.     if (av_strstart(p, "OpaqueData:buffer;", &p)) {
             ^
414.         rdt->mlti_data = rdt_parse_b64buf(&rdt->mlti_data_size, p);
415.     } else if (av_strstart(p, "StartTime:integer;", &p))

libavformat/rdt.c:415:16: Taking false branch
413.     if (av_strstart(p, "OpaqueData:buffer;", &p)) {
414.         rdt->mlti_data = rdt_parse_b64buf(&rdt->mlti_data_size, p);
415.     } else if (av_strstart(p, "StartTime:integer;", &p))
                    ^
416.         stream->first_dts = atoi(p);
417.     else if (av_strstart(p, "ASMRuleBook:string;", &p)) {

libavformat/rdt.c:417:14: Taking true branch
415.     } else if (av_strstart(p, "StartTime:integer;", &p))
416.         stream->first_dts = atoi(p);
417.     else if (av_strstart(p, "ASMRuleBook:string;", &p)) {
                  ^
418.         int n, first = -1;
419. 

libavformat/rdt.c:418:9: 
416.         stream->first_dts = atoi(p);
417.     else if (av_strstart(p, "ASMRuleBook:string;", &p)) {
418.         int n, first = -1;
             ^
419. 
420.         for (n = 0; n < s->nb_streams; n++)

libavformat/rdt.c:420:14: 
418.         int n, first = -1;
419. 
420.         for (n = 0; n < s->nb_streams; n++)
                  ^
421.             if (s->streams[n]->id == stream->id) {
422.                 int count = s->streams[n]->index + 1;

libavformat/rdt.c:420:21: Loop condition is true. Entering loop body
418.         int n, first = -1;
419. 
420.         for (n = 0; n < s->nb_streams; n++)
                         ^
421.             if (s->streams[n]->id == stream->id) {
422.                 int count = s->streams[n]->index + 1;

libavformat/rdt.c:421:17: Taking true branch
419. 
420.         for (n = 0; n < s->nb_streams; n++)
421.             if (s->streams[n]->id == stream->id) {
                     ^
422.                 int count = s->streams[n]->index + 1;
423.                 if (first == -1) first = n;

libavformat/rdt.c:422:17: 
420.         for (n = 0; n < s->nb_streams; n++)
421.             if (s->streams[n]->id == stream->id) {
422.                 int count = s->streams[n]->index + 1;
                     ^
423.                 if (first == -1) first = n;
424.                 if (rdt->nb_rmst < count) {

libavformat/rdt.c:423:21: Taking true branch
421.             if (s->streams[n]->id == stream->id) {
422.                 int count = s->streams[n]->index + 1;
423.                 if (first == -1) first = n;
                         ^
424.                 if (rdt->nb_rmst < count) {
425.                     RMStream **rmst= av_realloc(rdt->rmst, count*sizeof(*rmst));

libavformat/rdt.c:423:34: 
421.             if (s->streams[n]->id == stream->id) {
422.                 int count = s->streams[n]->index + 1;
423.                 if (first == -1) first = n;
                                      ^
424.                 if (rdt->nb_rmst < count) {
425.                     RMStream **rmst= av_realloc(rdt->rmst, count*sizeof(*rmst));

libavformat/rdt.c:424:21: Taking true branch
422.                 int count = s->streams[n]->index + 1;
423.                 if (first == -1) first = n;
424.                 if (rdt->nb_rmst < count) {
                         ^
425.                     RMStream **rmst= av_realloc(rdt->rmst, count*sizeof(*rmst));
426.                     if (!rmst)

libavformat/rdt.c:425:21: 
423.                 if (first == -1) first = n;
424.                 if (rdt->nb_rmst < count) {
425.                     RMStream **rmst= av_realloc(rdt->rmst, count*sizeof(*rmst));
                         ^
426.                     if (!rmst)
427.                         return AVERROR(ENOMEM);

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

libavutil/mem.c:126:8: Taking false branch
  124. 
  125.     /* let's disallow possible ambiguous cases */
  126.     if(size > (INT_MAX-16) )
              ^
  127.         return NULL;
  128. 

libavutil/mem.c:135:5: 
  133.     return (char*)realloc((char*)ptr - diff, size + diff) + diff;
  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. void av_free(void *ptr)

libavformat/rdt.c:426:26: Taking false branch
424.                 if (rdt->nb_rmst < count) {
425.                     RMStream **rmst= av_realloc(rdt->rmst, count*sizeof(*rmst));
426.                     if (!rmst)
                              ^
427.                         return AVERROR(ENOMEM);
428.                     memset(rmst + rdt->nb_rmst, 0,

libavformat/rdt.c:428:21: 
426.                     if (!rmst)
427.                         return AVERROR(ENOMEM);
428.                     memset(rmst + rdt->nb_rmst, 0,
                         ^
429.                            (count - rdt->nb_rmst) * sizeof(*rmst));
430.                     rdt->rmst    = rmst;

libavformat/rdt.c:430:21: 
428.                     memset(rmst + rdt->nb_rmst, 0,
429.                            (count - rdt->nb_rmst) * sizeof(*rmst));
430.                     rdt->rmst    = rmst;
                         ^
431.                     rdt->nb_rmst = count;
432.                 }

libavformat/rdt.c:431:21: 
429.                            (count - rdt->nb_rmst) * sizeof(*rmst));
430.                     rdt->rmst    = rmst;
431.                     rdt->nb_rmst = count;
                         ^
432.                 }
433.                 rdt->rmst[s->streams[n]->index] = ff_rm_alloc_rmstream();

libavformat/rdt.c:433:17: Skipping ff_rm_alloc_rmstream(): empty list of specs
431.                     rdt->nb_rmst = count;
432.                 }
433.                 rdt->rmst[s->streams[n]->index] = ff_rm_alloc_rmstream();
                     ^
434.                 rdt_load_mdpr(rdt, s->streams[n], (n - first) * 2);
435. 

libavformat/rdt.c:434:17: Skipping rdt_load_mdpr(): empty list of specs
432.                 }
433.                 rdt->rmst[s->streams[n]->index] = ff_rm_alloc_rmstream();
434.                 rdt_load_mdpr(rdt, s->streams[n], (n - first) * 2);
                     ^
435. 
436.                 if (s->streams[n]->codec->codec_id == CODEC_ID_AAC)
