Browse code

libclamav: tweak to cl_engine_free

David Raynor authored on 2014/02/08 02:12:39
Showing 1 changed files
... ...
@@ -3316,20 +3316,23 @@ int cl_engine_free(struct cl_engine *engine)
3316 3316
 	mpool_free(engine->mempool, pt);
3317 3317
     }
3318 3318
 
3319
-    if(engine->dconf->bytecode & BYTECODE_ENGINE_MASK) {
3320
-	if (engine->bcs.all_bcs)
3321
-	    for(i=0;i<engine->bcs.count;i++)
3322
-		cli_bytecode_destroy(&engine->bcs.all_bcs[i]);
3323
-	cli_bytecode_done(&engine->bcs);
3324
-	free(engine->bcs.all_bcs);
3325
-	for (i=0;i<_BC_LAST_HOOK - _BC_START_HOOKS;i++) {
3326
-	    free (engine->hooks[i]);
3327
-	}
3328
-    }
3329
-    if(engine->dconf->phishing & PHISHING_CONF_ENGINE)
3330
-	phishing_done(engine);
3331
-    if(engine->dconf)
3332
-	mpool_free(engine->mempool, engine->dconf);
3319
+    if(engine->dconf) {
3320
+        if(engine->dconf->bytecode & BYTECODE_ENGINE_MASK) {
3321
+            if (engine->bcs.all_bcs)
3322
+                for(i=0;i<engine->bcs.count;i++)
3323
+                    cli_bytecode_destroy(&engine->bcs.all_bcs[i]);
3324
+            cli_bytecode_done(&engine->bcs);
3325
+            free(engine->bcs.all_bcs);
3326
+            for (i=0;i<_BC_LAST_HOOK - _BC_START_HOOKS;i++) {
3327
+                free (engine->hooks[i]);
3328
+            }
3329
+        }
3330
+
3331
+        if(engine->dconf->phishing & PHISHING_CONF_ENGINE)
3332
+            phishing_done(engine);
3333
+
3334
+        mpool_free(engine->mempool, engine->dconf);
3335
+    }
3333 3336
 
3334 3337
     if(engine->pua_cats)
3335 3338
 	mpool_free(engine->mempool, engine->pua_cats);