avio_skip(pb, 12);
ff_get_guid(pb, &formattype);
size = avio_rl32(pb);
- if (size < 0 || size > INT_MAX - 92)
+ if (size < 0 || size > INT_MAX - 92 - consumed)
return AVERROR_INVALIDDATA;
parse_media_type(s, 0, sid, mediatype, subtype, formattype, size);
consumed += 92 + size;
avio_skip(pb, 12);
ff_get_guid(pb, &formattype);
size = avio_rl32(pb);
- if (size < 0 || size > INT_MAX - 76)
+ if (size < 0 || size > INT_MAX - 76 - consumed)
return AVERROR_INVALIDDATA;
parse_media_type(s, s->streams[stream_index], sid, mediatype, subtype, formattype, size);
consumed += 76 + size;