diff options
Diffstat (limited to '')
| -rw-r--r-- | librecrypt_decompose_chain.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/librecrypt_decompose_chain.c b/librecrypt_decompose_chain.c index ae58c6c..9db1d6c 100644 --- a/librecrypt_decompose_chain.c +++ b/librecrypt_decompose_chain.c @@ -46,26 +46,33 @@ main(void) INIT_RESOURCE_TEST(); /* Check HASH_1 with different sizes of `chain` */ + CANARY_FILL(buf); stpcpy(buf, HASH_1); EXPECT(librecrypt_decompose_chain(buf, chain, 0u) == 1u); EXPECT(!strcmp(buf, HASH_1)); + CANARY_CHECK(buf, sizeof(HASH_1)); NULL_OUT(chain); EXPECT(librecrypt_decompose_chain(buf, chain, 1u) == 1u); EXPECT(!strcmp(buf, HASH_1)); EXPECT(chain[0u] == buf); + CANARY_CHECK(buf, sizeof(HASH_1)); NULL_OUT(chain); EXPECT(librecrypt_decompose_chain(buf, chain, ELEMSOF(chain)) == 1u); EXPECT(!strcmp(buf, HASH_1)); EXPECT(chain[0u] == buf); + CANARY_CHECK(buf, sizeof(HASH_1)); /* Check HASH_2 with different sizes of `chain` */ + CANARY_FILL(buf); stpcpy(buf, HASH_2); EXPECT(librecrypt_decompose_chain(buf, chain, 0u) == 3u); EXPECT(!strcmp(buf, HASH_2)); + CANARY_CHECK(buf, sizeof(HASH_2)); NULL_OUT(chain); EXPECT(librecrypt_decompose_chain(buf, chain, 1u) == 3u); EXPECT(!strcmp(buf, HASH_2)); EXPECT(chain[0u] == buf); + CANARY_CHECK(buf, sizeof(HASH_2)); NULL_OUT(chain); EXPECT(librecrypt_decompose_chain(buf, chain, 2u) == 3u); EXPECT(chain[0u] != NULL); @@ -73,6 +80,9 @@ main(void) EXPECT(chain[2u] == NULL); EXPECT(!strcmp(chain[0u], HASH_2_A)); EXPECT(!strcmp(chain[1u], HASH_2_BC)); + CANARY_CHECK(buf, sizeof(HASH_2)); + + CANARY_FILL(buf); stpcpy(buf, HASH_2); NULL_OUT(chain); EXPECT(librecrypt_decompose_chain(buf, chain, ELEMSOF(chain)) == 3u); @@ -83,15 +93,19 @@ main(void) EXPECT(!strcmp(chain[0u], HASH_2_A)); EXPECT(!strcmp(chain[1u], HASH_2_B)); EXPECT(!strcmp(chain[2u], HASH_2_C)); + CANARY_CHECK(buf, sizeof(HASH_2)); /* Check HASH_3 with different sizes of `chain` */ + CANARY_FILL(buf); stpcpy(buf, HASH_3); EXPECT(librecrypt_decompose_chain(buf, chain, 0u) == 5u); EXPECT(!strcmp(buf, HASH_3)); + CANARY_CHECK(buf, sizeof(HASH_3)); NULL_OUT(chain); EXPECT(librecrypt_decompose_chain(buf, chain, 1u) == 5u); EXPECT(!strcmp(buf, HASH_3)); EXPECT(chain[0u] == buf); + CANARY_CHECK(buf, sizeof(HASH_3)); NULL_OUT(chain); EXPECT(librecrypt_decompose_chain(buf, chain, 2u) == 5u); EXPECT(chain[0u] != NULL); @@ -99,6 +113,9 @@ main(void) EXPECT(chain[2u] == NULL); EXPECT(!strcmp(chain[0u], HASH_3_A)); EXPECT(!strcmp(chain[1u], HASH_3_BCDE)); + CANARY_CHECK(buf, sizeof(HASH_3)); + + CANARY_FILL(buf); stpcpy(buf, HASH_3); NULL_OUT(chain); EXPECT(librecrypt_decompose_chain(buf, chain, 3u) == 5u); @@ -109,6 +126,9 @@ main(void) EXPECT(!strcmp(chain[0u], HASH_3_A)); EXPECT(!strcmp(chain[1u], HASH_3_B)); EXPECT(!strcmp(chain[2u], HASH_3_CDE)); + CANARY_CHECK(buf, sizeof(HASH_3)); + + CANARY_FILL(buf); stpcpy(buf, HASH_3); NULL_OUT(chain); EXPECT(librecrypt_decompose_chain(buf, chain, 4u) == 5u); @@ -121,6 +141,9 @@ main(void) EXPECT(!strcmp(chain[1u], HASH_3_B)); EXPECT(!strcmp(chain[2u], HASH_3_C)); EXPECT(!strcmp(chain[3u], HASH_3_DE)); + CANARY_CHECK(buf, sizeof(HASH_3)); + + CANARY_FILL(buf); stpcpy(buf, HASH_3); NULL_OUT(chain); EXPECT(librecrypt_decompose_chain(buf, chain, 5u) == 5u); @@ -135,6 +158,9 @@ main(void) EXPECT(!strcmp(chain[2u], HASH_3_C)); EXPECT(!strcmp(chain[3u], HASH_3_D)); EXPECT(!strcmp(chain[4u], HASH_3_E)); + CANARY_CHECK(buf, sizeof(HASH_3)); + + CANARY_FILL(buf); stpcpy(buf, HASH_3); NULL_OUT(chain); EXPECT(librecrypt_decompose_chain(buf, chain, 6u) == 5u); @@ -149,6 +175,7 @@ main(void) EXPECT(!strcmp(chain[2u], HASH_3_C)); EXPECT(!strcmp(chain[3u], HASH_3_D)); EXPECT(!strcmp(chain[4u], HASH_3_E)); + CANARY_CHECK(buf, sizeof(HASH_3)); STOP_RESOURCE_TEST(); return 0; |
