Limit the total amount of ID3 metadata to something (un-)reasonable: 3MB.

Change-Id: I3f9bbcdd4f563bac27c4ccae58e4179656c264b6
related-to-bug: 1903971
This commit is contained in:
Andreas Huber
2010-03-29 15:13:40 -07:00
parent 272b504ee6
commit c2eeb2f52e

View File

@@ -28,6 +28,8 @@
namespace android {
static const size_t kMaxMetadataSize = 3 * 1024 * 1024;
ID3::ID3(const sp<DataSource> &source)
: mIsValid(false),
mData(NULL),
@@ -111,6 +113,11 @@ bool ID3::parseV2(const sp<DataSource> &source) {
size = (size << 7) | header.enc_size[i];
}
if (size > kMaxMetadataSize) {
LOGE("skipping huge ID3 metadata of size %d", size);
return false;
}
mData = (uint8_t *)malloc(size);
if (mData == NULL) {