diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-04-07 16:56:51 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-04-07 16:56:51 +0100 |
commit | 722c4939c0026cd0ff8110049468560fbb44d454 (patch) | |
tree | 4dfab4359661367a1cf1b51dc7876e489330ac27 /src | |
parent | c1cce962177242f408040e422741bd30a61ff0f1 (diff) | |
download | rspamd-722c4939c0026cd0ff8110049468560fbb44d454.tar.gz rspamd-722c4939c0026cd0ff8110049468560fbb44d454.zip |
[Minor] Add some more boundaries checks
Diffstat (limited to 'src')
-rw-r--r-- | src/libserver/spf.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libserver/spf.c b/src/libserver/spf.c index f106e534d..dc8e2b36c 100644 --- a/src/libserver/spf.c +++ b/src/libserver/spf.c @@ -424,17 +424,17 @@ spf_check_ptr_host (struct spf_dns_cb *cb, const char *name) const char *dend, *nend, *dstart, *nstart; struct spf_record *rec = cb->rec; - if (name == NULL) { - return FALSE; - } if (cb->ptr_host != NULL) { dstart = cb->ptr_host; - } else { dstart = cb->resolved->cur_domain; } + if (name == NULL || dstart == NULL) { + return FALSE; + } + msg_debug_spf ("check ptr %s vs %s", name, dstart); /* We need to check whether `cur_domain` is a subdomain for `name` */ @@ -442,7 +442,7 @@ spf_check_ptr_host (struct spf_dns_cb *cb, const char *name) nstart = name; nend = nstart + strlen (nstart) - 1; - if (nend == nstart || dend == dstart) { + if (nend <= nstart || dend <= dstart) { return FALSE; } /* Strip last '.' from names */ |