summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/src/transports/smtp.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c
index fb55ae01b..41796a4d9 100644
--- a/src/src/transports/smtp.c
+++ b/src/src/transports/smtp.c
@@ -1078,10 +1078,12 @@ if (tls_offered && !suppress_tls &&
if (!smtp_read_response(&inblock, buffer2, sizeof(buffer2), '2',
ob->command_timeout))
{
- Ustrncpy(buffer, buffer2, sizeof(buffer));
if (errno != 0 || buffer2[0] == 0 ||
(buffer2[0] == '4' && !ob->tls_tempfail_tryclear))
+ {
+ Ustrncpy(buffer, buffer2, sizeof(buffer));
goto RESPONSE_FAILED;
+ }
}
/* STARTTLS accepted: try to negotiate a TLS session. */