There are some EC keys that can't be exported to provider keymgmt,
because the keymgmt implementation doesn't support certain forms of EC
keys. This could lead to a crash caused by dereferencing a NULL
pointer, so we need to cover that case by returning an error instead.
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/12610)
if (keymgmt1 != keymgmt2)
return -2;
+ /* If the keymgmt implementations are NULL, the export failed */
+ if (keymgmt1 == NULL)
+ return -2;
+
return evp_keymgmt_match(keymgmt1, keydata1, keydata2, selection);
}