From: Matt Caswell Date: Mon, 20 Apr 2020 14:04:35 +0000 (+0100) Subject: Fix no-err X-Git-Tag: openssl-3.0.0-alpha1~10 X-Git-Url: https://git.librecmc.org/?p=oweals%2Fopenssl.git;a=commitdiff_plain;h=555ed96812f7f6cfb6066327aee40244517e2e05 Fix no-err This fixes an assertion failure that can occur in the CMP code in the event of a no-err build. The "improve_location_name" function assumed that the fallback argument was always populated with something. However in a no-err build this is not the case. Reviewed-by: Nicola Tuveri (Merged from https://github.com/openssl/openssl/pull/11584) --- diff --git a/crypto/cmp/cmp_util.c b/crypto/cmp/cmp_util.c index 121b6a173a..741ed8082d 100644 --- a/crypto/cmp/cmp_util.c +++ b/crypto/cmp/cmp_util.c @@ -114,8 +114,9 @@ const char *ossl_cmp_log_parse_metadata(const char *buf, */ static const char *improve_location_name(const char *func, const char *fallback) { - if (!ossl_assert(fallback != NULL)) - return NULL; + if (fallback == NULL) + return func == NULL ? UNKNOWN_FUNC : func; + return func == NULL || *func == '\0' || strcmp(func, UNKNOWN_FUNC) == 0 ? fallback : func; }