Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Unified Diff: tests/vboot_common2_tests.c

Issue 3027009: Added size param to VerifyData() (Closed) Base URL: ssh://gitrw.chromium.org/vboot_reference.git
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « firmware/version.c ('k') | tests/vboot_common3_tests.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/vboot_common2_tests.c
diff --git a/tests/vboot_common2_tests.c b/tests/vboot_common2_tests.c
index f5815741ffb87db41d5aacd9fcbd90b53047d005..d03b60e38587e6ec3ee840dad8099e7fadac82ca 100644
--- a/tests/vboot_common2_tests.c
+++ b/tests/vboot_common2_tests.c
@@ -45,23 +45,29 @@ static void VerifyDataTest(const VbPublicKey* public_key,
const VbPrivateKey* private_key) {
const uint8_t test_data[] = "This is some test data to sign.";
+ const uint64_t test_size = sizeof(test_data);
VbSignature* sig;
RSAPublicKey* rsa;
- sig = CalculateSignature(test_data, sizeof(test_data), private_key);
+ sig = CalculateSignature(test_data, test_size, private_key);
rsa = PublicKeyToRSA(public_key);
TEST_NEQ(sig && rsa, 0, "VerifyData() prerequisites");
if (!sig || !rsa)
return;
- TEST_EQ(VerifyData(test_data, sig, rsa), 0, "VerifyData() ok");
+ TEST_EQ(VerifyData(test_data, test_size, sig, rsa), 0, "VerifyData() ok");
sig->sig_size -= 16;
- TEST_EQ(VerifyData(test_data, sig, rsa), 1, "VerifyData() wrong sig size");
+ TEST_EQ(VerifyData(test_data, test_size, sig, rsa), 1,
+ "VerifyData() wrong sig size");
sig->sig_size += 16;
+ TEST_EQ(VerifyData(test_data, test_size - 1, sig, rsa), 1,
+ "VerifyData() input buffer too small");
+
GetSignatureData(sig)[0] ^= 0x5A;
- TEST_EQ(VerifyData(test_data, sig, rsa), 1, "VerifyData() wrong sig");
+ TEST_EQ(VerifyData(test_data, test_size, sig, rsa), 1,
+ "VerifyData() wrong sig");
RSAPublicKeyFree(rsa);
Free(sig);
@@ -118,61 +124,61 @@ static void VerifyKernelPreambleTest(const VbPublicKey* public_key,
rsa = PublicKeyToRSA(public_key);
hdr = CreateKernelPreamble(0x1234, 0x100000, 0x300000, 0x4000, body_sig,
0, private_key);
- TEST_NEQ(hdr && rsa, 0, "VerifyKernelPreamble2() prerequisites");
+ TEST_NEQ(hdr && rsa, 0, "VerifyKernelPreamble() prerequisites");
if (!hdr)
return;
hsize = (unsigned) hdr->preamble_size;
h = (VbKernelPreambleHeader*)Malloc(hsize + 16384);
- TEST_EQ(VerifyKernelPreamble2(hdr, hsize, rsa), 0,
- "VerifyKernelPreamble2() ok using key");
- TEST_NEQ(VerifyKernelPreamble2(hdr, hsize - 1, rsa), 0,
- "VerifyKernelPreamble2() size--");
- TEST_EQ(VerifyKernelPreamble2(hdr, hsize + 1, rsa), 0,
- "VerifyKernelPreamble2() size++");
+ TEST_EQ(VerifyKernelPreamble(hdr, hsize, rsa), 0,
+ "VerifyKernelPreamble() ok using key");
+ TEST_NEQ(VerifyKernelPreamble(hdr, hsize - 1, rsa), 0,
+ "VerifyKernelPreamble() size--");
+ TEST_EQ(VerifyKernelPreamble(hdr, hsize + 1, rsa), 0,
+ "VerifyKernelPreamble() size++");
/* Care about major version but not minor */
Memcpy(h, hdr, hsize);
h->header_version_major++;
ReSignKernelPreamble(h, private_key);
- TEST_NEQ(VerifyKernelPreamble2(h, hsize, rsa), 0,
- "VerifyKernelPreamble2() major++");
+ TEST_NEQ(VerifyKernelPreamble(h, hsize, rsa), 0,
+ "VerifyKernelPreamble() major++");
Memcpy(h, hdr, hsize);
h->header_version_major--;
ReSignKernelPreamble(h, private_key);
- TEST_NEQ(VerifyKernelPreamble2(h, hsize, rsa), 0,
- "VerifyKernelPreamble2() major--");
+ TEST_NEQ(VerifyKernelPreamble(h, hsize, rsa), 0,
+ "VerifyKernelPreamble() major--");
Memcpy(h, hdr, hsize);
h->header_version_minor++;
ReSignKernelPreamble(h, private_key);
- TEST_EQ(VerifyKernelPreamble2(h, hsize, rsa), 0,
- "VerifyKernelPreamble2() minor++");
+ TEST_EQ(VerifyKernelPreamble(h, hsize, rsa), 0,
+ "VerifyKernelPreamble() minor++");
Memcpy(h, hdr, hsize);
h->header_version_minor--;
ReSignKernelPreamble(h, private_key);
- TEST_EQ(VerifyKernelPreamble2(h, hsize, rsa), 0,
- "VerifyKernelPreamble2() minor--");
+ TEST_EQ(VerifyKernelPreamble(h, hsize, rsa), 0,
+ "VerifyKernelPreamble() minor--");
/* Check signature */
Memcpy(h, hdr, hsize);
h->preamble_signature.sig_offset = hsize;
ReSignKernelPreamble(h, private_key);
- TEST_NEQ(VerifyKernelPreamble2(h, hsize, rsa), 0,
- "VerifyKernelPreamble2() sig off end");
+ TEST_NEQ(VerifyKernelPreamble(h, hsize, rsa), 0,
+ "VerifyKernelPreamble() sig off end");
Memcpy(h, hdr, hsize);
h->preamble_signature.sig_size--;
ReSignKernelPreamble(h, private_key);
- TEST_NEQ(VerifyKernelPreamble2(h, hsize, rsa), 0,
- "VerifyKernelPreamble2() sig too small");
+ TEST_NEQ(VerifyKernelPreamble(h, hsize, rsa), 0,
+ "VerifyKernelPreamble() sig too small");
Memcpy(h, hdr, hsize);
GetSignatureData(&h->body_signature)[0] ^= 0x34;
- TEST_NEQ(VerifyKernelPreamble2(h, hsize, rsa), 0,
- "VerifyKernelPreamble2() sig mismatch");
+ TEST_NEQ(VerifyKernelPreamble(h, hsize, rsa), 0,
+ "VerifyKernelPreamble() sig mismatch");
/* Check that we signed header and body sig */
Memcpy(h, hdr, hsize);
@@ -180,14 +186,14 @@ static void VerifyKernelPreambleTest(const VbPublicKey* public_key,
h->body_signature.sig_offset = 0;
h->body_signature.sig_size = 0;
ReSignKernelPreamble(h, private_key);
- TEST_NEQ(VerifyKernelPreamble2(h, hsize, rsa), 0,
- "VerifyKernelPreamble2() didn't sign header");
+ TEST_NEQ(VerifyKernelPreamble(h, hsize, rsa), 0,
+ "VerifyKernelPreamble() didn't sign header");
Memcpy(h, hdr, hsize);
h->body_signature.sig_offset = hsize;
ReSignKernelPreamble(h, private_key);
- TEST_NEQ(VerifyKernelPreamble2(h, hsize, rsa), 0,
- "VerifyKernelPreamble2() body sig off end");
+ TEST_NEQ(VerifyKernelPreamble(h, hsize, rsa), 0,
+ "VerifyKernelPreamble() body sig off end");
/* TODO: verify parser can support a bigger header. */
« no previous file with comments | « firmware/version.c ('k') | tests/vboot_common3_tests.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698