]> andersk Git - openssh.git/commitdiff
- moritz@cvs.openbsd.org 2005/04/28 10:17:56
authordjm <djm>
Thu, 26 May 2005 02:07:32 +0000 (02:07 +0000)
committerdjm <djm>
Thu, 26 May 2005 02:07:32 +0000 (02:07 +0000)
     [progressmeter.c ssh-keyscan.c]
     add snprintf checks. ok djm@ markus@

ChangeLog
progressmeter.c
ssh-keyscan.c

index 9fea23a9c769e621baba1982984c3f7e1b8af686..361a8174547cde9356008e8ccd2c17cd41712f2b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -41,6 +41,9 @@
    - jakob@cvs.openbsd.org 2005/04/26 13:08:37
      [ssh.c ssh_config.5]
      fallback gracefully if client cannot connect to ControlPath. ok djm@
+   - moritz@cvs.openbsd.org 2005/04/28 10:17:56
+     [progressmeter.c ssh-keyscan.c]
+     add snprintf checks. ok djm@ markus@
 
 20050524
  - (djm) [contrib/caldera/openssh.spec contrib/redhat/openssh.spec]
index 93f5a3e622018b931c9690df07b208fa7832abf4..febe9aad59faadf8715a99368db5f58638703a6c 100644 (file)
@@ -23,7 +23,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: progressmeter.c,v 1.22 2004/07/11 17:48:47 deraadt Exp $");
+RCSID("$OpenBSD: progressmeter.c,v 1.23 2005/04/28 10:17:56 moritz Exp $");
 
 #include "progressmeter.h"
 #include "atomicio.h"
@@ -147,6 +147,8 @@ refresh_progress_meter(void)
                len = snprintf(buf, file_len + 1, "\r%s", file);
                if (len < 0)
                        len = 0;
+               if (len >= file_len + 1)
+                       len = file_len;
                for (i = len;  i < file_len; i++ )
                        buf[i] = ' ';
                buf[file_len] = '\0';
index bc2c3b728886c03f688a0a3baf032f07a54b9c13..fdcfc5b3c6d7b4b365b20f717f87bb79fa6d001c 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: ssh-keyscan.c,v 1.52 2005/03/01 15:47:14 jmc Exp $");
+RCSID("$OpenBSD: ssh-keyscan.c,v 1.53 2005/04/28 10:17:56 moritz Exp $");
 
 #include "openbsd-compat/sys-queue.h"
 
@@ -543,6 +543,11 @@ congreet(int s)
        n = snprintf(buf, sizeof buf, "SSH-%d.%d-OpenSSH-keyscan\r\n",
            c->c_keytype == KT_RSA1? PROTOCOL_MAJOR_1 : PROTOCOL_MAJOR_2,
            c->c_keytype == KT_RSA1? PROTOCOL_MINOR_1 : PROTOCOL_MINOR_2);
+       if (n == -1 || n >= sizeof buf) {
+               error("snprintf: buffer too small");
+               confree(s);
+               return;
+       }
        if (atomicio(vwrite, s, buf, n) != n) {
                error("write (%s): %s", c->c_name, strerror(errno));
                confree(s);
This page took 0.210831 seconds and 5 git commands to generate.