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

Unverified Commit 369f3201 authored by Kevin F. Haggerty's avatar Kevin F. Haggerty
Browse files

Merge tag 'android-8.1.0_r76' of...

Merge tag 'android-8.1.0_r76' of https://android.googlesource.com/platform/frameworks/av into staging/lineage-15.1_merge-android-8.1.0_r76

Android 8.1.0 release 76

* tag 'android-8.1.0_r76' of https://android.googlesource.com/platform/frameworks/av:
  BnCrypto: fix use-before-init in CREATE_PLUGIN
  [DO NOT MERGE] Fix uninitialized data in IHDCP decrypt

Change-Id: I913206116c2b4fc1b29757ea76c7b67eeb60d707
parents cbcfaedc c7737b01
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -264,8 +264,12 @@ status_t BnCrypto::onTransact(
        {
            CHECK_INTERFACE(ICrypto, data, reply);

            uint8_t uuid[16];
            data.read(uuid, sizeof(uuid));
            uint8_t uuid[16] = {0};
            if (data.read(uuid, sizeof(uuid)) != NO_ERROR) {
                android_errorWriteLog(0x534e4554, "144767096");
                reply->writeInt32(BAD_VALUE);
                return OK;
            }

            size_t opaqueSize = data.readInt32();
            void *opaqueData = NULL;
@@ -280,7 +284,11 @@ status_t BnCrypto::onTransact(
                return NO_MEMORY;
            }

            data.read(opaqueData, opaqueSize);
            if (data.read(opaqueData, opaqueSize) != NO_ERROR) {
                android_errorWriteLog(0x534e4554, "144767096");
                reply->writeInt32(BAD_VALUE);
                return OK;
            }
            reply->writeInt32(createPlugin(uuid, opaqueData, opaqueSize));

            free(opaqueData);
+6 −5
Original line number Diff line number Diff line
@@ -333,11 +333,12 @@ status_t BnHDCP::onTransact(

            void *outData = (uint8_t *)inData + size;

            data.read(inData, size);

            status_t err = data.read(inData, size);
            if (err == OK) {
                uint32_t streamCTR = data.readInt32();
                uint64_t inputCTR = data.readInt64();
            status_t err = decrypt(inData, size, streamCTR, inputCTR, outData);
                err = decrypt(inData, size, streamCTR, inputCTR, outData);
            }

            reply->writeInt32(err);