From: Richard Levitte Date: Fri, 5 Apr 2019 08:28:32 +0000 (+0200) Subject: OPENSSL_init_crypto(): check config return code correctly X-Git-Tag: OpenSSL_1_1_1c~62 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=b7534359306754b90a4f18aa5231477510488713;p=oweals%2Fopenssl.git OPENSSL_init_crypto(): check config return code correctly It was assumed that the config functionality returned a boolean. However, it may return a negative number on error, so we need to take that into account. Reviewed-by: Matt Caswell Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/8679) (cherry picked from commit e3af453baceee7401ba0c5044a4c3aeaf246406f) --- diff --git a/crypto/init.c b/crypto/init.c index dc6ec396dd..afb213315e 100644 --- a/crypto/init.c +++ b/crypto/init.c @@ -702,7 +702,7 @@ int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings) ret = RUN_ONCE(&config, ossl_init_config); conf_settings = NULL; CRYPTO_THREAD_unlock(init_lock); - if (!ret) + if (ret <= 0) return 0; }