summaryrefslogtreecommitdiff
path: root/sshconnect2.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2008-11-03 19:22:09 +1100
committerDamien Miller <djm@mindrot.org>2008-11-03 19:22:09 +1100
commitc4d1b36cc2fb89566fe01b990abf8b635e0dce74 (patch)
treef0c9f2c8c52ec453241aa2f34ceb937566f2b620 /sshconnect2.c
parent49b78d4fbc138a252fc083c67d6b3750477d92a1 (diff)
aadt@cvs.openbsd.org 2008/10/03 23:56:28
[sshconnect2.c] Repair strnvis() buffersize of 4*n+1, with termination gauranteed by the function. spotted by des@freebsd, who commited an incorrect fix to the freebsd tree and (as is fairly typical) did not report the problem to us. But this fix is correct. ok djm
Diffstat (limited to 'sshconnect2.c')
-rw-r--r--sshconnect2.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sshconnect2.c b/sshconnect2.c
index 1a8f39071..fe9285f17 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sshconnect2.c,v 1.167 2008/07/31 14:48:28 markus Exp $ */ 1/* $OpenBSD: sshconnect2.c,v 1.168 2008/10/03 23:56:28 deraadt Exp $ */
2/* 2/*
3 * Copyright (c) 2000 Markus Friedl. All rights reserved. 3 * Copyright (c) 2000 Markus Friedl. All rights reserved.
4 * 4 *
@@ -386,8 +386,8 @@ input_userauth_banner(int type, u_int32_t seq, void *ctxt)
386 if (len > 0 && options.log_level >= SYSLOG_LEVEL_INFO) { 386 if (len > 0 && options.log_level >= SYSLOG_LEVEL_INFO) {
387 if (len > 65536) 387 if (len > 65536)
388 len = 65536; 388 len = 65536;
389 msg = xmalloc(len * 4); /* max expansion from strnvis() */ 389 msg = xmalloc(len * 4 + 1); /* max expansion from strnvis() */
390 strnvis(msg, raw, len * 4, VIS_SAFE|VIS_OCTAL); 390 strnvis(msg, raw, len * 4 + 1, VIS_SAFE|VIS_OCTAL);
391 fprintf(stderr, "%s", msg); 391 fprintf(stderr, "%s", msg);
392 xfree(msg); 392 xfree(msg);
393 } 393 }