Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c2eeb2f5 authored by Andreas Huber's avatar Andreas Huber
Browse files

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

Change-Id: I3f9bbcdd4f563bac27c4ccae58e4179656c264b6
related-to-bug: 1903971
parent 272b504e
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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) {