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

Commit b3436426 authored by Andreas Huber's avatar Andreas Huber Committed by Android (Google) Code Review
Browse files

Merge "Make it possible to pass empty opaque data as (NULL, 0) to ICrypto."

parents 1fe40b37 705868c0
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -61,7 +61,11 @@ struct BpCrypto : public BpInterface<ICrypto> {
        data.writeInterfaceToken(ICrypto::getInterfaceDescriptor());
        data.write(uuid, 16);
        data.writeInt32(opaqueSize);

        if (opaqueSize > 0) {
            data.write(opaqueData, opaqueSize);
        }

        remote()->transact(CREATE_PLUGIN, data, &reply);

        return reply.readInt32();
@@ -179,13 +183,19 @@ status_t BnCrypto::onTransact(
            data.read(uuid, sizeof(uuid));

            size_t opaqueSize = data.readInt32();
            void *opaqueData = malloc(opaqueSize);
            void *opaqueData = NULL;

            if (opaqueSize > 0) {
                opaqueData = malloc(opaqueSize);
                data.read(opaqueData, opaqueSize);
            }

            reply->writeInt32(createPlugin(uuid, opaqueData, opaqueSize));

            if (opaqueData != NULL) {
                free(opaqueData);
                opaqueData = NULL;
            }

            return OK;
        }