Skip to content

Commit 6d77aca

Browse files
committed
Register callbacks to free unused methods
1 parent 232e5a4 commit 6d77aca

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

src/p11_ec.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,7 @@ EC_KEY_METHOD *PKCS11_get_ec_key_method(void)
804804
EC_KEY_METHOD_set_sign(pkcs11_ec_key_method, orig_sign, NULL, pkcs11_ecdsa_sign_sig);
805805
EC_KEY_METHOD_get_compute_key(pkcs11_ec_key_method, &ossl_ecdh_compute_key);
806806
EC_KEY_METHOD_set_compute_key(pkcs11_ec_key_method, pkcs11_ec_ckey);
807+
atexit(pkcs11_ec_key_method_free);
807808
}
808809
return pkcs11_ec_key_method;
809810
}
@@ -847,6 +848,7 @@ ECDSA_METHOD *PKCS11_get_ecdsa_method(void)
847848
alloc_ec_ex_index();
848849
pkcs11_ecdsa_method = ECDSA_METHOD_new((ECDSA_METHOD *)ECDSA_OpenSSL());
849850
ECDSA_METHOD_set_sign(pkcs11_ecdsa_method, pkcs11_ecdsa_sign_sig);
851+
atexit(pkcs11_ecdsa_method_free);
850852
}
851853
return pkcs11_ecdsa_method;
852854
}
@@ -872,6 +874,7 @@ ECDH_METHOD *PKCS11_get_ecdh_method(void)
872874
pkcs11_ecdh_method = ECDH_METHOD_new((ECDH_METHOD *)ECDH_OpenSSL());
873875
ECDH_METHOD_get_compute_key(pkcs11_ecdh_method, &ossl_ecdh_compute_key);
874876
ECDH_METHOD_set_compute_key(pkcs11_ecdh_method, pkcs11_ec_ckey);
877+
atexit(pkcs11_ecdh_method_free);
875878
}
876879
return pkcs11_ecdh_method;
877880
}

src/p11_rsa.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -538,6 +538,7 @@ RSA_METHOD *PKCS11_get_rsa_method(void)
538538
RSA_meth_set_priv_enc(pkcs11_rsa_method, pkcs11_rsa_priv_enc_method);
539539
RSA_meth_set_priv_dec(pkcs11_rsa_method, pkcs11_rsa_priv_dec_method);
540540
RSA_meth_set_finish(pkcs11_rsa_method, pkcs11_rsa_free_method);
541+
atexit(pkcs11_rsa_method_free);
541542
}
542543
return pkcs11_rsa_method;
543544
}

0 commit comments

Comments
 (0)