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

Commit 7b76c8d3 authored by Glenn Kasten's avatar Glenn Kasten Committed by Android (Google) Code Review
Browse files

Merge "Don't crash when parsing DRM MIME types"

parents 256d603d df0b6512
Loading
Loading
Loading
Loading
+12 −5
Original line number Original line Diff line number Diff line
@@ -67,12 +67,19 @@ sp<MediaExtractor> MediaExtractor::Create(
             mime, confidence);
             mime, confidence);
    }
    }


    if (!strncmp(mime, "drm", 3)) {
    // DRM MIME type syntax is "drm+type+original" where
        const char *originalMime = strrchr(mime, '+') + 1;
    // type is "es_based" or "container_based" and

    // original is the content's cleartext MIME type
        if (!strncmp(mime, "drm+es_based", 12)) {
    if (!strncmp(mime, "drm+", 4)) {
        const char *originalMime = strchr(mime+4, '+');
        if (originalMime == NULL) {
            // second + not found
            return NULL;
        }
        ++originalMime;
        if (!strncmp(mime, "drm+es_based+", 13)) {
            return new DRMExtractor(source, originalMime);
            return new DRMExtractor(source, originalMime);
        } else if (!strncmp(mime, "drm+container_based", 19)) {
        } else if (!strncmp(mime, "drm+container_based+", 20)) {
            mime = originalMime;
            mime = originalMime;
        } else {
        } else {
            return NULL;
            return NULL;