Browse Source

[Fix] Treat `hs_allocate_scratch` errors as non-fatal

Issue: #4409
tags/3.5
Vsevolod Stakhov 1 year ago
parent
commit
33b3e51406
No account linked to committer's email address
1 changed files with 16 additions and 2 deletions
  1. 16
    2
      src/libserver/re_cache.c

+ 16
- 2
src/libserver/re_cache.c View File

@@ -2594,8 +2594,22 @@ rspamd_re_cache_load_hyperscan (struct rspamd_re_cache *cache,

if ((ret = hs_alloc_scratch (rspamd_hyperscan_get_database(re_class->hs_db),
&re_class->hs_scratch)) != HS_SUCCESS) {
msg_err_re_cache ("fatal error: cannot allocate scratch for %s: %d", path, ret);
g_abort();
rspamd_hyperscan_free (re_class->hs_db);
if (!try_load) {
msg_err_re_cache ("bad hs database in %s; error code: %d", path, ret);
}
else {
msg_debug_re_cache ("bad hs database in %s; error code: %d", path, ret);
}
g_free (hs_ids);
g_free (hs_flags);

re_class->hs_ids = NULL;
re_class->hs_scratch = NULL;
re_class->hs_db = NULL;
all_valid = FALSE;

continue;
}

/*

Loading…
Cancel
Save