Fix no-err
authorMatt Caswell <matt@openssl.org>
Mon, 20 Apr 2020 14:04:35 +0000 (15:04 +0100)
committerMatt Caswell <matt@openssl.org>
Wed, 22 Apr 2020 09:41:58 +0000 (10:41 +0100)
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 <nic.tuv@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/11584)

crypto/cmp/cmp_util.c

index 121b6a1..741ed80 100644 (file)
@@ -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;
 }