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

Commit 1aa1cf15 authored by Liening.Liu's avatar Liening.Liu Committed by liening liu
Browse files

Release the memory allocated in the algorithm to prevent memory leaks

In the reference implementation of the identity function, there are two places where the memory requested in the openssl algorithm is not released. This memory should be freed.

Test: Vts/Cts

Bug: 242927524
Change-Id: I88ffba39cb6ec887f395122e4670bf9f1a2d8e12
parent 17ca272c
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ void eicOpsHmacSha256Final(EicHmacSha256Ctx* ctx, uint8_t digest[EIC_SHA256_DIGE
    if (size != EIC_SHA256_DIGEST_SIZE) {
        LOG(ERROR) << "Expected 32 bytes from HMAC_Final, got " << size;
    }
    HMAC_CTX_cleanup(realCtx);
}

void eicOpsSha256Init(EicSha256Ctx* ctx) {
@@ -394,14 +395,17 @@ bool eicOpsEcDsa(const uint8_t privateKey[EIC_P256_PRIV_KEY_SIZE],
    }

    if (BN_bn2binpad(sig->r, signature, 32) != 32) {
        ECDSA_SIG_free(sig);
        eicDebug("Error encoding r");
        return false;
    }
    if (BN_bn2binpad(sig->s, signature + 32, 32) != 32) {
        ECDSA_SIG_free(sig);
        eicDebug("Error encoding s");
        return false;
    }

    ECDSA_SIG_free(sig);
    return true;
}