From: Vsevolod Stakhov Date: Tue, 2 Oct 2018 17:52:53 +0000 (+0100) Subject: [Minor] Fix evals maths X-Git-Tag: 1.8.1~102 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ef337345b5ff8e96cbc7138c0d3cbc0730df2cae;p=thirdparty%2Frspamd.git [Minor] Fix evals maths --- diff --git a/src/libutil/expression.c b/src/libutil/expression.c index 2469d04151..65465ceb6c 100644 --- a/src/libutil/expression.c +++ b/src/libutil/expression.c @@ -1098,16 +1098,15 @@ rspamd_process_expression_track (struct rspamd_expression *expr, struct rspamd_e /* Ensure that stack is empty at this point */ g_assert (expr->expression_stack->len == 0); + expr->evals ++; ret = rspamd_ast_process_node (expr, expr->ast, process_data); /* Cleanup */ g_node_traverse (expr->ast, G_IN_ORDER, G_TRAVERSE_ALL, -1, rspamd_ast_cleanup_traverse, NULL); - expr->evals ++; - /* Check if we need to resort */ - if (expr->evals == expr->next_resort) { + if (expr->evals % expr->next_resort == 0) { expr->next_resort = ottery_rand_range (MAX_RESORT_EVALS) + MIN_RESORT_EVALS; /* Set priorities for branches */