diff options
-rw-r--r-- | src/test/test_crypto.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/test/test_crypto.c b/src/test/test_crypto.c index 2af649c1e4..74b7a8eb31 100644 --- a/src/test/test_crypto.c +++ b/src/test/test_crypto.c @@ -1045,8 +1045,19 @@ test_crypto_pwbox(void *arg) tt_assert(decoded); tt_uint_op(dlen, ==, strlen(msg)); tt_mem_op(decoded, ==, msg, dlen); - tor_free(boxed); + tor_free(decoded); + + tt_int_op(UNPWBOX_BAD_SECRET, ==, crypto_unpwbox(&decoded, &dlen, boxed, len, + pw, strlen(pw)-1)); + boxed[len-1] ^= 1; + tt_int_op(UNPWBOX_BAD_SECRET, ==, crypto_unpwbox(&decoded, &dlen, boxed, len, + pw, strlen(pw))); + boxed[0] = 255; + tt_int_op(UNPWBOX_CORRUPTED, ==, crypto_unpwbox(&decoded, &dlen, boxed, len, + pw, strlen(pw))); + + tor_free(boxed); } done: |