diff --git a/clambc/bcrun.c b/clambc/bcrun.c index 4a810f6..8bed54f 100644 --- a/clambc/bcrun.c +++ b/clambc/bcrun.c @@ -246,6 +246,8 @@ int main(int argc, char *argv[]) int fd = -1; unsigned tracelevel; + cl_initialize_crypto(); + if(check_flevel()) exit(1); diff --git a/clamconf/clamconf.c b/clamconf/clamconf.c index 9d9f6f2..0e1a5f7 100644 --- a/clamconf/clamconf.c +++ b/clamconf/clamconf.c @@ -376,6 +376,8 @@ int main(int argc, char **argv) unsigned int i, j; struct cli_environment env; + cl_initialize_crypto(); + opts = optparse(NULL, argc, argv, 1, OPT_CLAMCONF, 0, NULL); if(!opts) { printf("ERROR: Can't parse command line options\n"); diff --git a/clamd/clamd.c b/clamd/clamd.c index 9513076..dbf1882 100644 --- a/clamd/clamd.c +++ b/clamd/clamd.c @@ -139,10 +139,10 @@ int main(int argc, char **argv) sa.sa_handler = SIG_IGN; sigaction(SIGHUP, &sa, NULL); sigaction(SIGUSR2, &sa, NULL); -#else - cl_initialize_crypto(); #endif + cl_initialize_crypto(); + if((opts = optparse(NULL, argc, argv, 1, OPT_CLAMD, 0, NULL)) == NULL) { mprintf("!Can't parse command line options\n"); return 1; diff --git a/clamdscan/clamdscan.c b/clamdscan/clamdscan.c index 42900f8..01a08ef 100644 --- a/clamdscan/clamdscan.c +++ b/clamdscan/clamdscan.c @@ -69,9 +69,7 @@ int main(int argc, char **argv) struct sigaction sigact; #endif -#if defined(_WIN32) cl_initialize_crypto(); -#endif if((opts = optparse(NULL, argc, argv, 1, OPT_CLAMDSCAN, OPT_CLAMSCAN, NULL)) == NULL) { mprintf("!Can't parse command line options\n"); diff --git a/clamscan/clamscan.c b/clamscan/clamscan.c index 1b637fa..b5b703f 100644 --- a/clamscan/clamscan.c +++ b/clamscan/clamscan.c @@ -80,9 +80,7 @@ int main(int argc, char **argv) sigprocmask(SIG_SETMASK, &sigset, NULL); #endif -#if defined(_WIN32) cl_initialize_crypto(); -#endif if((opts = optparse(NULL, argc, argv, 1, OPT_CLAMSCAN, 0, NULL)) == NULL) { diff --git a/libclamav/others.c b/libclamav/others.c index 27d4640..4c0648d 100644 --- a/libclamav/others.c +++ b/libclamav/others.c @@ -1292,15 +1292,3 @@ void cl_engine_set_clcb_meta(struct cl_engine *engine, clcb_meta callback) { engine->cb_meta = callback; } - -#if !defined(_WIN32) -__attribute__((constructor)) void init(void) -{ - cl_initialize_crypto(); -} - -__attribute__((destructor)) void deinit(void) -{ - cl_cleanup_crypto(); -} -#endif diff --git a/sigtool/sigtool.c b/sigtool/sigtool.c index 5843190..0ed032e 100644 --- a/sigtool/sigtool.c +++ b/sigtool/sigtool.c @@ -2995,9 +2995,7 @@ int main(int argc, char **argv) if(check_flevel()) exit(1); -#if defined(_WIN32) cl_initialize_crypto(); -#endif if((ret = cl_init(CL_INIT_DEFAULT)) != CL_SUCCESS) { mprintf("!Can't initialize libclamav: %s\n", cl_strerror(ret));