Переглянути джерело

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

Issue: #4409
tags/3.5
Vsevolod Stakhov 1 рік тому
джерело
коміт
33b3e51406
Аккаунт користувача з таким Email не знайдено
1 змінених файлів з 16 додано та 2 видалено
  1. 16
    2
      src/libserver/re_cache.c

+ 16
- 2
src/libserver/re_cache.c Переглянути файл

@@ -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;
}

/*

Завантаження…
Відмінити
Зберегти