diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2014-05-26 16:07:33 +0100 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2014-06-04 16:25:40 +0100 |
commit | 984702029ad4e6a1686dd801811a68f6034e6b38 (patch) | |
tree | 4cd5d2297f50dd5b25d5e7ae29b602b310e7eafe /src | |
parent | ed3bba5f12882a3dc7eb58a7adcb307db6ce8d07 (diff) |
Ensure output buffer big enough for DSN additions to MAIL FROM. Bug 1482
Diffstat (limited to 'src')
-rw-r--r-- | src/src/smtp_out.c | 4 | ||||
-rw-r--r-- | src/src/transports/smtp.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/src/smtp_out.c b/src/src/smtp_out.c index 0fa4ccd48..b6ff51108 100644 --- a/src/src/smtp_out.c +++ b/src/src/smtp_out.c @@ -352,6 +352,10 @@ if (!string_vformat(big_buffer, big_buffer_size, CS format, ap)) va_end(ap); count = Ustrlen(big_buffer); +if (count > outblock->buffersize) + log_write(0, LOG_MAIN|LOG_PANIC_DIE, "overlong write_command in outgoing " + "SMTP"); + if (count > outblock->buffersize - (outblock->ptr - outblock->buffer)) { rc = outblock->cmd_count; /* flush resets */ diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c index 33c91a67a..40eebe8b6 100644 --- a/src/src/transports/smtp.c +++ b/src/src/transports/smtp.c @@ -1228,7 +1228,7 @@ uschar new_message_id[MESSAGE_ID_LENGTH + 1]; uschar *p; uschar buffer[4096]; uschar inbuffer[4096]; -uschar outbuffer[1024]; +uschar outbuffer[4096]; suppress_tls = suppress_tls; /* stop compiler warning when no TLS support */ |