diff options
author | tb <> | 2018-04-14 07:09:21 +0000 |
---|---|---|
committer | tb <> | 2018-04-14 07:09:21 +0000 |
commit | a32b35170819e9b07e0183d19aee21b9a246943b (patch) | |
tree | 83fef660683163befc47beedefbc0b11b71b2756 /src/lib/libcrypto/evp/evp_enc.c | |
parent | 7eaeb0d1b3ae143b8adb8634c48219a657764be9 (diff) | |
download | openbsd-a32b35170819e9b07e0183d19aee21b9a246943b.tar.gz openbsd-a32b35170819e9b07e0183d19aee21b9a246943b.tar.bz2 openbsd-a32b35170819e9b07e0183d19aee21b9a246943b.zip |
make ENGINE_finish() succeed on NULL and simplify callers as in
OpenSSL commit 7c96dbcdab9 by Rich Salz.
This cleans up the caller side quite a bit and reduces the number of
lines enclosed in #ifndef OPENSSL_NO_ENGINE. codesearch.debian.net
shows that almost nothing checks the return value of ENGINE_finish().
While there, replace a few nearby 'if (!ptr)' with 'if (ptr == NULL)'.
ok jsing, tested by & ok inoguchi
Diffstat (limited to 'src/lib/libcrypto/evp/evp_enc.c')
-rw-r--r-- | src/lib/libcrypto/evp/evp_enc.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/lib/libcrypto/evp/evp_enc.c b/src/lib/libcrypto/evp/evp_enc.c index de7c690ca7..db2deb6905 100644 --- a/src/lib/libcrypto/evp/evp_enc.c +++ b/src/lib/libcrypto/evp/evp_enc.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: evp_enc.c,v 1.38 2018/02/17 16:54:08 jsing Exp $ */ | 1 | /* $OpenBSD: evp_enc.c,v 1.39 2018/04/14 07:09:21 tb Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -577,10 +577,7 @@ EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *c) | |||
577 | } | 577 | } |
578 | free(c->cipher_data); | 578 | free(c->cipher_data); |
579 | #ifndef OPENSSL_NO_ENGINE | 579 | #ifndef OPENSSL_NO_ENGINE |
580 | if (c->engine) | 580 | ENGINE_finish(c->engine); |
581 | /* The EVP_CIPHER we used belongs to an ENGINE, release the | ||
582 | * functional reference we held for this reason. */ | ||
583 | ENGINE_finish(c->engine); | ||
584 | #endif | 581 | #endif |
585 | explicit_bzero(c, sizeof(EVP_CIPHER_CTX)); | 582 | explicit_bzero(c, sizeof(EVP_CIPHER_CTX)); |
586 | return 1; | 583 | return 1; |