Merge "Limit the total amount of ID3 metadata to something (un-)reasonable: 3MB." into froyo
This commit is contained in:
committed by
Android (Google) Code Review
commit
02a1f78987
@@ -28,6 +28,8 @@
|
|||||||
|
|
||||||
namespace android {
|
namespace android {
|
||||||
|
|
||||||
|
static const size_t kMaxMetadataSize = 3 * 1024 * 1024;
|
||||||
|
|
||||||
ID3::ID3(const sp<DataSource> &source)
|
ID3::ID3(const sp<DataSource> &source)
|
||||||
: mIsValid(false),
|
: mIsValid(false),
|
||||||
mData(NULL),
|
mData(NULL),
|
||||||
@@ -111,6 +113,11 @@ bool ID3::parseV2(const sp<DataSource> &source) {
|
|||||||
size = (size << 7) | header.enc_size[i];
|
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);
|
mData = (uint8_t *)malloc(size);
|
||||||
|
|
||||||
if (mData == NULL) {
|
if (mData == NULL) {
|
||||||
|
|||||||
Reference in New Issue
Block a user