diff options
| author | tb <> | 2022-09-05 21:34:23 +0000 |
|---|---|---|
| committer | tb <> | 2022-09-05 21:34:23 +0000 |
| commit | 239dbbc5acf30c9130787c6012a981079f36881f (patch) | |
| tree | d7c1b0fd5a413af7cdb4b24207f1016438c3ec15 /src | |
| parent | dc30d90fd4b5c90df4d19e89ac4a3f4cd4abe557 (diff) | |
| download | openbsd-239dbbc5acf30c9130787c6012a981079f36881f.tar.gz openbsd-239dbbc5acf30c9130787c6012a981079f36881f.tar.bz2 openbsd-239dbbc5acf30c9130787c6012a981079f36881f.zip | |
Plug leaks due to not resetting the EVP_CIPHER_CTX
Diffstat (limited to 'src')
| -rw-r--r-- | src/regress/lib/libcrypto/rc4/rc4_test.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/regress/lib/libcrypto/rc4/rc4_test.c b/src/regress/lib/libcrypto/rc4/rc4_test.c index 6c938344f2..f575060382 100644 --- a/src/regress/lib/libcrypto/rc4/rc4_test.c +++ b/src/regress/lib/libcrypto/rc4/rc4_test.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: rc4_test.c,v 1.1 2022/09/03 17:43:14 tb Exp $ */ | 1 | /* $OpenBSD: rc4_test.c,v 1.2 2022/09/05 21:34:23 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2022 Joshua Sing <joshua@hypera.dev> | 3 | * Copyright (c) 2022 Joshua Sing <joshua@hypera.dev> |
| 4 | * | 4 | * |
| @@ -395,6 +395,11 @@ rc4_test(void) | |||
| 395 | goto failed; | 395 | goto failed; |
| 396 | } | 396 | } |
| 397 | 397 | ||
| 398 | if (!EVP_CIPHER_CTX_reset(ctx)) { | ||
| 399 | fprintf(stderr, "FAIL: EVP_CIPHER_CTX_reset failed\n"); | ||
| 400 | goto failed; | ||
| 401 | } | ||
| 402 | |||
| 398 | if (memcmp(rt->out, out, rt->len) != 0) { | 403 | if (memcmp(rt->out, out, rt->len) != 0) { |
| 399 | fprintf(stderr, "FAIL: EVP encryption mismatch\n"); | 404 | fprintf(stderr, "FAIL: EVP encryption mismatch\n"); |
| 400 | goto failed; | 405 | goto failed; |
| @@ -427,6 +432,11 @@ rc4_test(void) | |||
| 427 | goto failed; | 432 | goto failed; |
| 428 | } | 433 | } |
| 429 | 434 | ||
| 435 | if (!EVP_CIPHER_CTX_reset(ctx)) { | ||
| 436 | fprintf(stderr, "FAIL: EVP_CIPHER_CTX_reset failed\n"); | ||
| 437 | goto failed; | ||
| 438 | } | ||
| 439 | |||
| 430 | if (memcmp(rt->out, out, rt->len) != 0) { | 440 | if (memcmp(rt->out, out, rt->len) != 0) { |
| 431 | fprintf(stderr, "FAIL: EVP decryption mismatch\n"); | 441 | fprintf(stderr, "FAIL: EVP decryption mismatch\n"); |
| 432 | goto failed; | 442 | goto failed; |
