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

Commit a5d212cf authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

BnCrypto: fix use-before-init in CREATE_PLUGIN am: 4bbfb6d8 am: a9296786...

BnCrypto: fix use-before-init in CREATE_PLUGIN am: 4bbfb6d8 am: a9296786 am: 245e44d9 am: d8d4e803 am: 886419a5

Change-Id: Ia148a19a53973c1d962a4146031174951f211049
parents 67110b51 886419a5
Loading
Loading
Loading
Loading
+11 −3
Original line number Original line Diff line number Diff line
@@ -264,8 +264,12 @@ status_t BnCrypto::onTransact(
        {
        {
            CHECK_INTERFACE(ICrypto, data, reply);
            CHECK_INTERFACE(ICrypto, data, reply);


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


            size_t opaqueSize = data.readInt32();
            size_t opaqueSize = data.readInt32();
            void *opaqueData = NULL;
            void *opaqueData = NULL;
@@ -280,7 +284,11 @@ status_t BnCrypto::onTransact(
                return NO_MEMORY;
                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));
            reply->writeInt32(createPlugin(uuid, opaqueData, opaqueSize));


            free(opaqueData);
            free(opaqueData);