From 741cc5015def9e58e4f8f1519010d845ce61f077 Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Tue, 21 Jul 2015 10:32:12 -0400 Subject: [PATCH] pwdb: preprocess tdb with target 0 --- libclamav/readdb.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libclamav/readdb.c b/libclamav/readdb.c index b3c0b979a..c70e54f79 100644 --- a/libclamav/readdb.c +++ b/libclamav/readdb.c @@ -4143,7 +4143,19 @@ static int cli_loadpwdb(FILE *fs, struct cl_engine *engine, unsigned int options break; } + /* preprocess tdb with target type 0 */ memset(&tdb, 0, sizeof(tdb)); + tdb.mempool = engine->mempool; + tdb.cnt[CLI_TDB_UINT]++; + tdb.val = (uint32_t *) mpool_realloc2(tdb.mempool, tdb.val, tdb.cnt[CLI_TDB_UINT] * sizeof(uint32_t)); + if(!tdb.val) { + tdb.cnt[CLI_TDB_UINT] = 0; + ret = CL_EMEM; + break; + } + tdb.val[0] = 0; + tdb.target = &(tdb.val[0]); + ret = init_tdb(&tdb, engine, attribs, passname); free(attribs); if(ret != CL_SUCCESS) {