Clean up and fix pkey_cmac_keygen()
authortb <tb@openbsd.org>
Thu, 28 Dec 2023 21:56:12 +0000 (21:56 +0000)
committertb <tb@openbsd.org>
Thu, 28 Dec 2023 21:56:12 +0000 (21:56 +0000)
commitd6237f54e72b691997986b4b8b4e3cda78a61464
treead5e4c4fe84e2dd0650bbc6df9dc7856b8d15b2f
parent1f4f3b5be931cc066ccd9a45ccffcfc8a923888c
Clean up and fix pkey_cmac_keygen()

A void pointer can be passed without any cast or assigning it to an
intermediate variable. That's one of hte puzzling things in old OpenSSL
code: there are plenty of unnecessary casts and assignments of void
pointers.

Make use of this fact and rework the function to be single exit, error
check consistently, including the EVP_PKEY_assign() call that can't
really fail and free the cmkey on exit.

Why coverity didn't flag this one is another mystery.

ok jsing
lib/libcrypto/cmac/cm_pmeth.c