mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2026-10-24 02:09:03 +03:00
avformat/imfdec: check for a missing or empty Path in the asset map
Fixes: NULL pointer dereference Fixes: vIIX7oqa3coO Fixes:73f6cce936(avformat/imf: Demuxer) Found-by: Pavel Kohout (Aisle Research) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit0fe4bd4b43) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
committed by
Michael Niedermayer
parent
9473f54c36
commit
32c3ca282b
@@ -255,7 +255,20 @@ static int parse_imf_asset_map_from_xml_dom(AVFormatContext *s,
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
|
||||
uri = xmlNodeGetContent(ff_imf_xml_get_child_element_by_name(node, "Path"));
|
||||
xmlNodePtr path_node = ff_imf_xml_get_child_element_by_name(node, "Path");
|
||||
if (!path_node) {
|
||||
av_log(s, AV_LOG_ERROR, "Unable to parse asset map XML - missing Path element in Chunk\n");
|
||||
ret = AVERROR_INVALIDDATA;
|
||||
break;
|
||||
}
|
||||
uri = xmlNodeGetContent(path_node);
|
||||
if (!uri || !uri[0]) {
|
||||
av_log(s, AV_LOG_ERROR, "Unable to parse asset map XML - empty Path element in Chunk\n");
|
||||
xmlFree(uri);
|
||||
ret = AVERROR_INVALIDDATA;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!imf_uri_is_url(uri) && !imf_uri_is_unix_abs_path(uri) && !imf_uri_is_dos_abs_path(uri))
|
||||
asset->absolute_uri = av_append_path_component(base_url, uri);
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user