const ucl_object_t *cur, *cur_elt;
const gchar *str;
+ /* Cleanup */
+ *target = NULL;
+
LL_FOREACH (obj, cur_elt) {
type = ucl_object_type (cur_elt);
magic_load (ctx->libmagic, cfg->magic_file);
}
+ rspamd_free_zstd_dictionary (ctx->in_dict);
+ rspamd_free_zstd_dictionary (ctx->out_dict);
+
+ if (ctx->out_zstream) {
+ ZSTD_freeCStream (ctx->out_zstream);
+ ctx->out_zstream = NULL;
+ }
+
+ if (ctx->in_zstream) {
+ ZSTD_freeDStream (ctx->in_zstream);
+ ctx->in_zstream = NULL;
+ }
+
if (cfg->zstd_input_dictionary) {
ctx->in_dict = rspamd_open_zstd_dictionary (
cfg->zstd_input_dictionary);
rspamd_main->cfg = tmp_cfg;
if (!load_rspamd_config (rspamd_main, tmp_cfg, TRUE,
- RSPAMD_CONFIG_INIT_VALIDATE|RSPAMD_CONFIG_INIT_SYMCACHE,
- TRUE)) {
+ RSPAMD_CONFIG_INIT_VALIDATE|RSPAMD_CONFIG_INIT_SYMCACHE|
+ RSPAMD_CONFIG_INIT_LIBS|RSPAMD_CONFIG_INIT_URL,
+ TRUE)) {
rspamd_main->cfg = old_cfg;
rspamd_log_close_priv (rspamd_main->logger,
rspamd_main->workers_uid,