From 76b49a8ad7759c2b702376d1ebc90008bdc26373 Mon Sep 17 00:00:00 2001 From: Rich Salz Date: Tue, 12 May 2015 11:49:32 -0400 Subject: [PATCH] Add NULL checks from master The big "don't check for NULL" cleanup requires backporting some of the lowest-level functions to actually do nothing if NULL is given. This will make it easier to backport fixes to release branches, where master assumes those lower-level functions are "safe" This commit addresses those tickets: 3798 3799 3801. Reviewed-by: Matt Caswell (cherry picked from commit f34b095fab1569d093b639bfcc9a77d6020148ff) --- crypto/cmac/cmac.c | 2 ++ crypto/x509/x509_lu.c | 2 ++ crypto/x509/x509_vfy.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/crypto/cmac/cmac.c b/crypto/cmac/cmac.c index c5597a3f73..774e6dc919 100644 --- a/crypto/cmac/cmac.c +++ b/crypto/cmac/cmac.c @@ -126,6 +126,8 @@ EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx) void CMAC_CTX_free(CMAC_CTX *ctx) { + if (!ctx) + return; CMAC_CTX_cleanup(ctx); OPENSSL_free(ctx); } diff --git a/crypto/x509/x509_lu.c b/crypto/x509/x509_lu.c index a910636f82..8415d1d8b3 100644 --- a/crypto/x509/x509_lu.c +++ b/crypto/x509/x509_lu.c @@ -216,6 +216,8 @@ X509_STORE *X509_STORE_new(void) static void cleanup(X509_OBJECT *a) { + if (!a) + return; if (a->type == X509_LU_X509) { X509_free(a->data.x509); } else if (a->type == X509_LU_CRL) { diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c index 136bfbda61..559b5cdeb5 100644 --- a/crypto/x509/x509_vfy.c +++ b/crypto/x509/x509_vfy.c @@ -1921,6 +1921,8 @@ X509_STORE_CTX *X509_STORE_CTX_new(void) void X509_STORE_CTX_free(X509_STORE_CTX *ctx) { + if (!ctx) + return; X509_STORE_CTX_cleanup(ctx); OPENSSL_free(ctx); } -- 2.34.1