diff --git a/src/pattern.c b/src/pattern.c index 6c263bebe..ce0f07b40 100644 --- a/src/pattern.c +++ b/src/pattern.c @@ -491,7 +491,7 @@ struct pattern *pat_match_str(struct sample *smp, struct pattern_expr *expr, int } /* look in the list */ - if (pat_lru_tree) { + if (pat_lru_tree && !LIST_ISEMPTY(&expr->patterns)) { unsigned long long seed = pat_lru_seed ^ (long)expr; lru = lru64_get(XXH3(smp->data.u.str.area, smp->data.u.str.data, seed), @@ -534,7 +534,7 @@ struct pattern *pat_match_bin(struct sample *smp, struct pattern_expr *expr, int struct pattern *ret = NULL; struct lru64 *lru = NULL; - if (pat_lru_tree) { + if (pat_lru_tree && !LIST_ISEMPTY(&expr->patterns)) { unsigned long long seed = pat_lru_seed ^ (long)expr; lru = lru64_get(XXH3(smp->data.u.str.area, smp->data.u.str.data, seed), @@ -603,7 +603,7 @@ struct pattern *pat_match_reg(struct sample *smp, struct pattern_expr *expr, int struct pattern *ret = NULL; struct lru64 *lru = NULL; - if (pat_lru_tree) { + if (pat_lru_tree && !LIST_ISEMPTY(&expr->patterns)) { unsigned long long seed = pat_lru_seed ^ (long)expr; lru = lru64_get(XXH3(smp->data.u.str.area, smp->data.u.str.data, seed), @@ -686,7 +686,7 @@ struct pattern *pat_match_beg(struct sample *smp, struct pattern_expr *expr, int } /* look in the list */ - if (pat_lru_tree) { + if (pat_lru_tree && !LIST_ISEMPTY(&expr->patterns)) { unsigned long long seed = pat_lru_seed ^ (long)expr; lru = lru64_get(XXH3(smp->data.u.str.area, smp->data.u.str.data, seed), @@ -730,7 +730,7 @@ struct pattern *pat_match_end(struct sample *smp, struct pattern_expr *expr, int struct pattern *ret = NULL; struct lru64 *lru = NULL; - if (pat_lru_tree) { + if (pat_lru_tree && !LIST_ISEMPTY(&expr->patterns)) { unsigned long long seed = pat_lru_seed ^ (long)expr; lru = lru64_get(XXH3(smp->data.u.str.area, smp->data.u.str.data, seed), @@ -778,7 +778,7 @@ struct pattern *pat_match_sub(struct sample *smp, struct pattern_expr *expr, int struct pattern *ret = NULL; struct lru64 *lru = NULL; - if (pat_lru_tree) { + if (pat_lru_tree && !LIST_ISEMPTY(&expr->patterns)) { unsigned long long seed = pat_lru_seed ^ (long)expr; lru = lru64_get(XXH3(smp->data.u.str.area, smp->data.u.str.data, seed),