Plug leak in ec_key_create()
authortb <tb@openbsd.org>
Tue, 22 Feb 2022 13:45:09 +0000 (13:45 +0000)
committertb <tb@openbsd.org>
Tue, 22 Feb 2022 13:45:09 +0000 (13:45 +0000)
commit750403478bec5bd7802227938542dd439cd0fb30
tree9148028e4c24a44d20fb00bc32abb286c33d567c
parent49047c646431c06dd571f6386f64a2176907c2a6
Plug leak in ec_key_create()

EVP_PKEY_set1_EC_KEY() bumps the refcount of eckey, so eckey won't be
freed at the end of keyproc() or acctproc(), which means that secrets
aren't wiped. Move EC_KEY_free() to the out label, so that the refcount
is decremented or the key freed, as appropriate.

tested/ok claudio
usr.sbin/acme-client/key.c