From 45a628251f94202ccebfeed042781b2590017643 Mon Sep 17 00:00:00 2001 From: Gaurav Shah Date: Mon, 16 Aug 2010 11:37:59 -0700 Subject: [PATCH] RSAVerify() - fail on malloc() failure. BUG=chrome-os-partner:702 TEST=exists RSA verification tests still pass Review URL: http://codereview.chromium.org/3127013 --- firmware/lib/cryptolib/rsa.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/firmware/lib/cryptolib/rsa.c b/firmware/lib/cryptolib/rsa.c index 51fed77135..adc0dc0513 100644 --- a/firmware/lib/cryptolib/rsa.c +++ b/firmware/lib/cryptolib/rsa.c @@ -150,6 +150,8 @@ int RSAVerify(const RSAPublicKey *key, } buf = (uint8_t*) Malloc(sig_len); + if (!buf) + return 0; Memcpy(buf, sig, sig_len); modpowF4(key, buf); @@ -161,7 +163,6 @@ int RSAVerify(const RSAPublicKey *key, for (i = 0; i < padding_size_map[sig_type]; ++i) { if (buf[i] != padding[i]) { #ifndef NDEBUG -/* TODO(gauravsh): Replace with a macro call for logging. */ VBDEBUG(("Padding: Expecting = %02x Got = %02x\n", padding[i], buf[i])); #endif success = 0; @@ -172,7 +173,6 @@ int RSAVerify(const RSAPublicKey *key, for (; i < (int)sig_len; ++i) { if (buf[i] != *hash++) { #ifndef NDEBUG -/* TODO(gauravsh): Replace with a macro call for logging. */ VBDEBUG(("Digest: Expecting = %02x Got = %02x\n", padding[i], buf[i])); #endif success = 0;