errstr is never set but fail does: RSA_meth_free(rsae_method); fatalx("%s: %s", __func__, errstr); Found by codechecker.
OK? mbuhl Index: ca.c =================================================================== RCS file: /cvs/src/usr.sbin/relayd/ca.c,v retrieving revision 1.39 diff -u -p -r1.39 ca.c --- ca.c 20 Jan 2022 17:56:35 -0000 1.39 +++ ca.c 10 Nov 2022 00:06:20 -0000 @@ -514,6 +514,7 @@ ca_engine_init(struct relayd *x_env) return; if ((rsae_method = RSA_meth_new("RSA privsep engine", 0)) == NULL) + errstr = "RSA_meth_new"; goto fail; RSA_meth_set_pub_enc(rsae_method, rsae_pub_enc);