aboutsummaryrefslogtreecommitdiffstats
path: root/src/expressions.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2013-11-14 16:21:45 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2013-11-14 16:21:45 +0000
commit917f52af5c8180096d541f8c9d6c1b11ce96aaae (patch)
tree7073276744111e79a890611252b4fc1afd2d20ff /src/expressions.c
parent7347509ead19b66f951194147d12c9d769a90c20 (diff)
downloadrspamd-917f52af5c8180096d541f8c9d6c1b11ce96aaae.tar.gz
rspamd-917f52af5c8180096d541f8c9d6c1b11ce96aaae.zip
Fix issue with regexps parsing.
Diffstat (limited to 'src/expressions.c')
-rw-r--r--src/expressions.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/expressions.c b/src/expressions.c
index df98b5a50..f63ec2d74 100644
--- a/src/expressions.c
+++ b/src/expressions.c
@@ -614,7 +614,15 @@ parse_regexp (memory_pool_t * pool, const gchar *line, gboolean raw_mode)
/* First try to find header name */
begin = strchr (line, '/');
if (begin != NULL) {
- end = strrchr (begin, '=');
+ p = begin;
+ end = NULL;
+ while (p != line) {
+ if (*p == '=') {
+ end = p;
+ break;
+ }
+ p --;
+ }
if (end) {
result->header = memory_pool_alloc (pool, end - line + 1);
rspamd_strlcpy (result->header, line, end - line + 1);