summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/evp/evp_cipher.c
diff options
context:
space:
mode:
authortb <>2024-01-30 17:41:01 +0000
committertb <>2024-01-30 17:41:01 +0000
commit2fbdb4b0166f2045307f159118bab16fecbe9eaf (patch)
treefcd57cecbbca04066b0143b0d083d850b5252a9d /src/lib/libcrypto/evp/evp_cipher.c
parentca1b3f4909994173a0d16311ece0a91761d7ecce (diff)
downloadopenbsd-2fbdb4b0166f2045307f159118bab16fecbe9eaf.tar.gz
openbsd-2fbdb4b0166f2045307f159118bab16fecbe9eaf.tar.bz2
openbsd-2fbdb4b0166f2045307f159118bab16fecbe9eaf.zip
Make EVP_{CIPHER,MD}_CTX_{cleanup,reset}() NULL-safe
We have a bunch of code that relies on this. Surely there is code out there in the wider ecosystem that relies on these being NULL-safe by now since upstream sprinkles NULL checks wherever they can. ok beck joshua
Diffstat (limited to 'src/lib/libcrypto/evp/evp_cipher.c')
-rw-r--r--src/lib/libcrypto/evp/evp_cipher.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/libcrypto/evp/evp_cipher.c b/src/lib/libcrypto/evp/evp_cipher.c
index 51bbf70654..abdc33eace 100644
--- a/src/lib/libcrypto/evp/evp_cipher.c
+++ b/src/lib/libcrypto/evp/evp_cipher.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: evp_cipher.c,v 1.16 2024/01/07 15:21:04 tb Exp $ */ 1/* $OpenBSD: evp_cipher.c,v 1.17 2024/01/30 17:41:01 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 *
@@ -627,6 +627,9 @@ EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *ctx)
627int 627int
628EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *ctx) 628EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *ctx)
629{ 629{
630 if (ctx == NULL)
631 return 1;
632
630 if (ctx->cipher != NULL) { 633 if (ctx->cipher != NULL) {
631 /* XXX - Avoid leaks, so ignore return value of cleanup()... */ 634 /* XXX - Avoid leaks, so ignore return value of cleanup()... */
632 if (ctx->cipher->cleanup != NULL) 635 if (ctx->cipher->cleanup != NULL)