summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2017-04-07 16:56:51 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2017-04-07 16:56:51 +0100
commit722c4939c0026cd0ff8110049468560fbb44d454 (patch)
tree4dfab4359661367a1cf1b51dc7876e489330ac27 /src
parentc1cce962177242f408040e422741bd30a61ff0f1 (diff)
downloadrspamd-722c4939c0026cd0ff8110049468560fbb44d454.tar.gz
rspamd-722c4939c0026cd0ff8110049468560fbb44d454.zip
[Minor] Add some more boundaries checks
Diffstat (limited to 'src')
-rw-r--r--src/libserver/spf.c10
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 */