lavf/mov.c: Avoid OOB in mov_read_udta_string()

Core of patch is from paul@paulmehta.com
Reference https://crbug.com/643952 (udta_string portion)

Signed-off-by: Matt Wolenetz <wolenetz@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Matt Wolenetz 2017-02-08 15:40:46 -08:00 committed by Michael Niedermayer
parent ce6e7a2db1
commit 9bbdf5d921
1 changed files with 2 additions and 2 deletions

View File

@ -407,11 +407,11 @@ retry:
return ret;
} else if (!key && c->found_hdlr_mdta && c->meta_keys) {
uint32_t index = AV_RB32(&atom.type);
if (index < c->meta_keys_count) {
if (index < c->meta_keys_count && index > 0) {
key = c->meta_keys[index];
} else {
av_log(c->fc, AV_LOG_WARNING,
"The index of 'data' is out of range: %d >= %d.\n",
"The index of 'data' is out of range: %d < 1 or >= %d.\n",
index, c->meta_keys_count);
}
}