From cbf5fd559293f7f5b59996a5845c0080e9946f01 Mon Sep 17 00:00:00 2001 From: John Denker Date: Sat, 2 Jun 2012 23:59:53 -0700 Subject: catch insidious syntax error --- qmail-smtpd.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'qmail-smtpd.c') diff --git a/qmail-smtpd.c b/qmail-smtpd.c index 7d062a2..1064008 100644 --- a/qmail-smtpd.c +++ b/qmail-smtpd.c @@ -171,6 +171,7 @@ char *arg; arg += i + 1; else { /* partner should go read rfc 821 */ terminator = ' '; +/* The following fails insidiously if there's no ':' */ arg += str_chr(arg,':'); if (*arg == ':') ++arg; while (*arg == ' ') ++arg; @@ -211,7 +212,9 @@ char *arg; } } +/* returning 0 will provoke a "555 syntax error" */ if (addr.len > 900) return 0; + if (addr.len == 0 || addr.s[0] == 0) return 0; return 1; } -- cgit v1.2.3