From: Vsevolod Stakhov Date: Thu, 24 Dec 2015 15:48:55 +0000 (+0000) Subject: Add sanity detection for header name X-Git-Tag: 1.1.0~207 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a706d0e39b4548e52296a6a5bf49891343259c74;p=thirdparty%2Frspamd.git Add sanity detection for header name --- diff --git a/src/libmime/mime_expressions.c b/src/libmime/mime_expressions.c index 57275e0046..4bfc6c0f17 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,