From: Brendan Cully Date: Fri, 2 Jan 2009 00:55:32 +0000 (-0800) Subject: SMTP: guard against short server responses X-Git-Tag: neomutt-20160307~830 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7a4336ad97384c08f629b057cba875f44f06cb2f;p=neomutt SMTP: guard against short server responses --- diff --git a/smtp.c b/smtp.c index 0dae118be..391eb0d30 100644 --- a/smtp.c +++ b/smtp.c @@ -89,9 +89,10 @@ smtp_get_resp (CONNECTION * conn) do { n = mutt_socket_readln (buf, sizeof (buf), conn); - if (n == -1) + if (n < 4) { + /* read error, or no response code */ return smtp_err_read; - n = atoi (buf); + } if (!ascii_strncasecmp ("8BITMIME", buf + 4, 8)) mutt_bit_set (Capabilities, EIGHTBITMIME); @@ -105,6 +106,8 @@ smtp_get_resp (CONNECTION * conn) mutt_bit_set (Capabilities, DSN); else if (!ascii_strncasecmp ("STARTTLS", buf + 4, 8)) mutt_bit_set (Capabilities, STARTTLS); + + n = atoi (buf); } while (buf[3] == '-'); if (smtp_success (n) || n == smtp_continue)