]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream commit
authordjm@openbsd.org <djm@openbsd.org>
Fri, 10 Mar 2017 03:15:58 +0000 (03:15 +0000)
committerDarren Tucker <dtucker@zip.com.au>
Fri, 10 Mar 2017 04:25:11 +0000 (15:25 +1100)
don't truncate off \r\n from long stderr lines; bz#2688,
reported by Brian Dyson; ok dtucker@

Upstream-ID: cdfdc4ba90639af807397ce996153c88af046ca4

log.c

diff --git a/log.c b/log.c
index 2b59c427445453fce2a6471eeaa2eb7fe57427a1..d0f86cf6fb402f4f63fbb72c44c9b18a01f79985 100644 (file)
--- a/log.c
+++ b/log.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: log.c,v 1.48 2016/07/15 05:01:58 dtucker Exp $ */
+/* $OpenBSD: log.c,v 1.49 2017/03/10 03:15:58 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -453,7 +453,8 @@ do_log(LogLevel level, const char *fmt, va_list args)
                tmp_handler(level, fmtbuf, log_handler_ctx);
                log_handler = tmp_handler;
        } else if (log_on_stderr) {
-               snprintf(msgbuf, sizeof msgbuf, "%s\r\n", fmtbuf);
+               snprintf(msgbuf, sizeof msgbuf, "%.*s\r\n",
+                   (int)sizeof msgbuf - 3, fmtbuf);
                (void)write(log_stderr_fd, msgbuf, strlen(msgbuf));
        } else {
 #if defined(HAVE_OPENLOG_R) && defined(SYSLOG_DATA_INIT)