summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorPierre-Anthony Lemieux <pal@palemieux.com>2022-08-25 20:21:53 -0700
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-09-07 17:16:02 +0200
commit6e91d405be3c8a1ded025498085e0e606e337030 (patch)
treeeb0ceb7f42a7899e5d0c1e64994da0f5e24868b1 /libavformat
parentdb85e01fd7976150a522a1881f3479661d8c1a79 (diff)
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>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/imfdec.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libavformat/imfdec.c b/libavformat/imfdec.c
index 5bbe7a53f8..fde91a6419 100644
--- a/libavformat/imfdec.c
+++ b/libavformat/imfdec.c
@@ -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;
}