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 | |
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
-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; |