diff --git a/clambc/bcrun.c b/clambc/bcrun.c index 8bed54f..3c7da93 100644 --- a/clambc/bcrun.c +++ b/clambc/bcrun.c @@ -445,5 +445,6 @@ int main(int argc, char *argv[]) close(fd); if (debug_flag) printf("[clambc] Exiting\n"); + cl_cleanup_crypto(); return 0; } diff --git a/clamconf/clamconf.c b/clamconf/clamconf.c index 0e1a5f7..2dd3113 100644 --- a/clamconf/clamconf.c +++ b/clamconf/clamconf.c @@ -488,5 +488,6 @@ int main(int argc, char **argv) cli_detect_environment(&env); print_platform(&env); print_build(&env); + cl_cleanup_crypto(); return 0; } diff --git a/clamd/clamd.c b/clamd/clamd.c index dbf1882..3cdca26 100644 --- a/clamd/clamd.c +++ b/clamd/clamd.c @@ -744,6 +744,8 @@ int main(int argc, char **argv) logg_close(); optfree(opts); + cl_cleanup_crypto(); + return ret; } diff --git a/clamdscan/clamdscan.c b/clamdscan/clamdscan.c index 01a08ef..4af2261 100644 --- a/clamdscan/clamdscan.c +++ b/clamdscan/clamdscan.c @@ -175,6 +175,7 @@ int main(int argc, char **argv) logg_close(); optfree(opts); + cl_cleanup_crypto(); exit(ret); } diff --git a/clamscan/clamscan.c b/clamscan/clamscan.c index b5b703f..b77c31e 100644 --- a/clamscan/clamscan.c +++ b/clamscan/clamscan.c @@ -193,6 +193,8 @@ int main(int argc, char **argv) optfree(opts); + cl_cleanup_crypto(); + return ret; } diff --git a/sigtool/sigtool.c b/sigtool/sigtool.c index 0ed032e..04279bc 100644 --- a/sigtool/sigtool.c +++ b/sigtool/sigtool.c @@ -3089,5 +3089,6 @@ int main(int argc, char **argv) help(); optfree(opts); + cl_cleanup_crypto(); return ret ? 1 : 0; } diff --git a/unit_tests/check_clamav.c b/unit_tests/check_clamav.c index 3b8ef4e..96f7280 100644 --- a/unit_tests/check_clamav.c +++ b/unit_tests/check_clamav.c @@ -986,6 +986,8 @@ int main(void) Suite *s; SRunner *sr; + cl_initialize_crypto(); + fpu_words = get_fpu_endian(); check_version_compatible(); @@ -1016,5 +1018,7 @@ int main(void) nf = srunner_ntests_failed(sr); srunner_free(sr); + cl_cleanup_crypto(); + return (nf == 0) ? EXIT_SUCCESS : EXIT_FAILURE; }