[openssl-commits] [openssl] master update

Rich Salz rsalz at openssl.org
Wed Oct 19 11:02:45 UTC 2016


The branch master has been updated
       via  a1f2b0e6e07a53c0ae2c81cba319b90e54210cd6 (commit)
      from  31dad404fd6854ec8dd697bcccfef1e8dba3faff (commit)


- Log -----------------------------------------------------------------
commit a1f2b0e6e07a53c0ae2c81cba319b90e54210cd6
Author: Mat <mberchtold at gmail.com>
Date:   Mon Oct 3 05:40:32 2016 +0200

    Do not set load_crypto_strings_inited when OPENSSL_NO_ERR is defined
    
    Only set the load_crypto_strings_inited to 1 when err_load_crypto_strings_int was called.
    
    This solves the following issue:
    - openssl is built with no-err
    - load_crypto_strings_inited is set to 1 during the OPENSSL_init_crypto call
    - During the cleanup: OPENSSL_cleanup, err_free_strings_int is called because load_crypto_strings_inited == 1
    - err_free_strings_int calls do_err_strings_init because it has never been called
    - Now do_err_strings_init calls OPENSSL_init_crypto
    - But since we are in the cleanup (stopped == 1) this results in an error:
      CRYPTOerr(CRYPTO_F_OPENSSL_INIT_CRYPTO, ERR_R_INIT_FAIL);
    - which then tries to initialize everything we are trying to clean up: ERR_get_state, ossl_init_thread_start, etc
    Reviewed-by: Tim Hudson <tjh at openssl.org>
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/1654)

-----------------------------------------------------------------------

Summary of changes:
 crypto/init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crypto/init.c b/crypto/init.c
index 9af857b..7423ecc 100644
--- a/crypto/init.c
+++ b/crypto/init.c
@@ -103,8 +103,8 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_load_crypto_strings)
                     "err_load_crypto_strings_int()\n");
 # endif
     ret = err_load_crypto_strings_int();
-#endif
     load_crypto_strings_inited = 1;
+#endif    
     return ret;
 }
 


More information about the openssl-commits mailing list