crypto/evp/pmeth_lib.c:457: error: NULL_DEREFERENCE
  pointer `name` last assigned on line 449 could be null and is dereferenced by call to `strlen()` at line 457, column 28.
Showing all 10 steps of the trace


crypto/evp/pmeth_lib.c:434:1: start of procedure EVP_PKEY_CTX_set_signature_md()
432.   #endif
433.   
434. > int EVP_PKEY_CTX_set_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
435.   {
436.       OSSL_PARAM sig_md_params[3];

crypto/evp/pmeth_lib.c:441:9: Taking false branch
439.   
440.       /* TODO(3.0): Remove this eventually when no more legacy */
441.       if (ctx->sigprovctx == NULL)
               ^
442.           return EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG,
443.                                    EVP_PKEY_CTRL_MD, 0, (void *)(md));

crypto/evp/pmeth_lib.c:445:9: Taking false branch
443.                                    EVP_PKEY_CTRL_MD, 0, (void *)(md));
444.   
445.       if (md == NULL)
               ^
446.           return 1;
447.   

crypto/evp/pmeth_lib.c:448:5: Skipping EVP_MD_size(): empty list of specs
446.           return 1;
447.   
448.       mdsize = EVP_MD_size(md);
           ^
449.       name = EVP_MD_name(md);
450.       sig_md_params[0] = OSSL_PARAM_construct_utf8_string(

crypto/evp/pmeth_lib.c:449:5: 
447.   
448.       mdsize = EVP_MD_size(md);
449. >     name = EVP_MD_name(md);
450.       sig_md_params[0] = OSSL_PARAM_construct_utf8_string(
451.                              OSSL_SIGNATURE_PARAM_DIGEST,

crypto/evp/evp_lib.c:468:1: start of procedure EVP_MD_name()
  466.   }
  467.   
  468. > const char *EVP_MD_name(const EVP_MD *md)
  469.   {
  470.       if (md->prov != NULL)

crypto/evp/evp_lib.c:470:9: Taking false branch
  468.   const char *EVP_MD_name(const EVP_MD *md)
  469.   {
  470.       if (md->prov != NULL)
                 ^
  471.           return md->name;
  472.   #ifndef FIPS_MODE

crypto/evp/evp_lib.c:475:5: 
  473.       return OBJ_nid2sn(EVP_MD_nid(md));
  474.   #else
  475. >     return NULL;
  476.   #endif
  477.   }

crypto/evp/evp_lib.c:477:1: return from a call to EVP_MD_name
  475.       return NULL;
  476.   #endif
  477. > }
  478.   
  479.   const OSSL_PROVIDER *EVP_MD_provider(const EVP_MD *md)

crypto/evp/pmeth_lib.c:450:5: 
448.       mdsize = EVP_MD_size(md);
449.       name = EVP_MD_name(md);
450. >     sig_md_params[0] = OSSL_PARAM_construct_utf8_string(
451.                              OSSL_SIGNATURE_PARAM_DIGEST,
452.                              /*
