From: Vsevolod Stakhov Date: Tue, 29 Sep 2020 19:48:26 +0000 (+0100) Subject: [Fix] Fix endless loop if broken arc chain has been found X-Git-Tag: 2.6~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=32e5b11adfc3550bd4dfe50c3aaa2e96900af102;p=thirdparty%2Frspamd.git [Fix] Fix endless loop if broken arc chain has been found --- diff --git a/src/libserver/dkim.c b/src/libserver/dkim.c index bd1854d5dd..27db77c266 100644 --- a/src/libserver/dkim.c +++ b/src/libserver/dkim.c @@ -2342,13 +2342,18 @@ rspamd_dkim_canonize_header (struct rspamd_dkim_common_ctx *ctx, id_len = rspamd_snprintf (idx_buf, sizeof (idx_buf), "i=%d;", count); - for (cur = rh->prev;; cur = cur->prev) { + for (cur = rh->prev; ; cur = cur->prev) { if (cur->decoded && rspamd_substring_search (cur->decoded, strlen (cur->decoded), idx_buf, id_len) != -1) { sel = cur; break; } + + if (cur == rh) { + /* Cycle */ + break; + } } if (sel == NULL) {