#ifndef FIPS_MODULE
/* TODO(3.x) get rid of the need for legacy NIDs */
md->type = NID_undef;
- evp_names_do_all(prov, name_id, set_legacy_nid, &md->type);
- if (md->type == -1) {
+ if (!evp_names_do_all(prov, name_id, set_legacy_nid, &md->type)
+ || md->type == -1) {
ERR_raise(ERR_LIB_EVP, ERR_R_INTERNAL_ERROR);
EVP_MD_free(md);
return NULL;