From a706d0e39b4548e52296a6a5bf49891343259c74 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 24 Dec 2015 15:48:55 +0000 Subject: Add sanity detection for header name --- src/libmime/mime_expressions.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/libmime/mime_expressions.c b/src/libmime/mime_expressions.c index 57275e004..4bfc6c0f1 100644 --- a/src/libmime/mime_expressions.c +++ b/src/libmime/mime_expressions.c @@ -634,9 +634,20 @@ set: /* Register new item in the cache */ if (mime_atom->d.re->type == RSPAMD_RE_HEADER || mime_atom->d.re->type == RSPAMD_RE_RAWHEADER) { - rspamd_re_cache_add (cfg->re_cache, mime_atom->d.re->regexp, - mime_atom->d.re->type, mime_atom->d.re->header, - strlen (mime_atom->d.re->header) + 1); + if (mime_atom->d.re->header != NULL) { + rspamd_re_cache_add (cfg->re_cache, mime_atom->d.re->regexp, + mime_atom->d.re->type, mime_atom->d.re->header, + strlen (mime_atom->d.re->header) + 1); + } + else { + /* We have header regexp, but no header name is detected */ + g_set_error (err, + rspamd_mime_expr_quark (), + 200, + "no header name in /H regexp: '%s'", + mime_atom->str); + goto err; + } } else { rspamd_re_cache_add (cfg->re_cache, mime_atom->d.re->regexp, -- cgit v1.2.3