Browse Source

dashdec: Only free url string if being reused

If no representation bandwidth value is set, the url value returned
by get_content_url is corrupt (as it has been freed).
This change ensures the url string is not freed unless it is about
to be reused
Changes since v1:
 1 removed the unneeded 'if' statement (as pointed out by Michael Niedermayer
 2 added comment to make it clear why the av_free was required
Signed-off-by: Brendan McGrath <redmcg@redmandi.dyndns.org>
tags/n4.0
Brendan McGrath Steven Liu 7 years ago
parent
commit
1f48c5c067
1 changed files with 2 additions and 1 deletions
  1. +2
    -1
      libavformat/dashdec.c

+ 2
- 1
libavformat/dashdec.c View File

@@ -483,9 +483,10 @@ static char *get_content_url(xmlNodePtr *baseurl_nodes,
return NULL;
}
av_strlcpy(tmp_str, url, sizeof(tmp_str));
av_free(url);
}
if (rep_bandwidth_val && tmp_str[0] != '\0') {
// free any previously assigned url before reassigning
av_free(url);
url = av_strireplace(tmp_str, "$Bandwidth$", (const char*)rep_bandwidth_val);
if (!url) {
return NULL;


Loading…
Cancel
Save