... | ... |
@@ -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); |