& CL_DB_OFFICIAL_ONLY was probably meant to be | CL_DB_OFFICIAL_ONLY.
But we want to load all sigs, so just drop that flag.
Also print memusage to log.
... | ... |
@@ -23,6 +23,7 @@ |
23 | 23 |
|
24 | 24 |
#include "clamav.h" |
25 | 25 |
#include "shared/output.h" |
26 |
+#include "mpool.h" |
|
26 | 27 |
#include "clscanapi.h" |
27 | 28 |
#include "interface.h" |
28 | 29 |
|
... | ... |
@@ -184,11 +185,12 @@ static int sigload_callback(const char *type, const char *name, void *context) { |
184 | 184 |
/* Must be called with engine_mutex locked ! */ |
185 | 185 |
static int load_db(void) { |
186 | 186 |
int ret; |
187 |
+ size_t used, total; |
|
187 | 188 |
unsigned int signo = 0; |
188 | 189 |
INFN(); |
189 | 190 |
|
190 | 191 |
cl_engine_set_clcb_sigload(engine, sigload_callback, NULL); |
191 |
- if((ret = cl_load(dbdir, engine, &signo, CL_DB_STDOPT & ~CL_DB_PHISHING & ~CL_DB_PHISHING_URLS & CL_DB_OFFICIAL_ONLY)) != CL_SUCCESS) { |
|
192 |
+ if((ret = cl_load(dbdir, engine, &signo, CL_DB_STDOPT & ~CL_DB_PHISHING & ~CL_DB_PHISHING_URLS)) != CL_SUCCESS) { |
|
192 | 193 |
cl_engine_free(engine); |
193 | 194 |
engine = NULL; |
194 | 195 |
FAIL(ret, "Failed to load database: %s", cl_strerror(ret)); |
... | ... |
@@ -201,6 +203,10 @@ static int load_db(void) { |
201 | 201 |
} |
202 | 202 |
|
203 | 203 |
logg("load_db: loaded %d signatures\n", signo); |
204 |
+ if (!mpool_getstats(engine, &used, &total)) { |
|
205 |
+ logg("load_db: memory %.3f MB / %.3f MB\n", |
|
206 |
+ used/(1024*1024.0), total/(1024*1024.0)); |
|
207 |
+ } |
|
204 | 208 |
WIN(); |
205 | 209 |
} |
206 | 210 |
|