avformat/imfdec: check if Asset/Id exists before trying to read it

Fixes Coverity issue #1512406

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Pierre-Anthony Lemieux 2022-08-25 20:21:53 -07:00 committed by Andreas Rheinhardt
parent db85e01fd7
commit 6e91d405be

View File

@ -233,7 +233,12 @@ static int parse_imf_asset_map_from_xml_dom(AVFormatContext *s,
asset = &(asset_map->assets[asset_map->asset_count]);
if (ff_imf_xml_read_uuid(ff_imf_xml_get_child_element_by_name(asset_element, "Id"), asset->uuid)) {
if (!(node = ff_imf_xml_get_child_element_by_name(asset_element, "Id"))) {
av_log(s, AV_LOG_ERROR, "Unable to parse asset map XML - missing Id node\n");
return AVERROR_INVALIDDATA;
}
if (ff_imf_xml_read_uuid(node, asset->uuid)) {
av_log(s, AV_LOG_ERROR, "Could not parse UUID from asset in asset map.\n");
return AVERROR_INVALIDDATA;
}