Index: media/webm/webm_stream_parser.cc |
diff --git a/media/webm/webm_stream_parser.cc b/media/webm/webm_stream_parser.cc |
index 602d22787c341b9603d49f317345678dc5f78320..d141bfdd1525cb24cc7a232c62c5487e8d1750f8 100644 |
--- a/media/webm/webm_stream_parser.cc |
+++ b/media/webm/webm_stream_parser.cc |
@@ -352,6 +352,7 @@ int WebMStreamParser::ParseInfoAndTracks(const uint8* data, int size) { |
if (tracks_parser.video_encryption_key_id()) { |
int key_id_size = tracks_parser.video_encryption_key_id_size(); |
CHECK_GT(key_id_size, 0); |
+ CHECK_LT(key_id_size, 2048); |
scoped_array<uint8> key_id(new uint8[key_id_size]); |
memcpy(key_id.get(), tracks_parser.video_encryption_key_id(), key_id_size); |
need_key_cb_.Run(key_id.Pass(), key_id_size); |