]> andersk Git - openssh.git/commitdiff
- markus@cvs.openbsd.org 2001/09/17 20:50:22
authormouring <mouring>
Tue, 18 Sep 2001 05:49:14 +0000 (05:49 +0000)
committermouring <mouring>
Tue, 18 Sep 2001 05:49:14 +0000 (05:49 +0000)
     [key.c ssh-keygen.c]
     better error handling if you try to export a bad key to ssh.com

ChangeLog
key.c
ssh-keygen.c

index e9d9f3dd104554162479000b2bf8ac7b76e9e716..089583427cfa24788c4c1ba42121dd90cb39d750 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -23,6 +23,9 @@
    - stevesk@cvs.openbsd.org 2001/09/17 20:38:09
      [sftp.1 sftp.c]
      cleanup and document -1, -s and -S; ok markus@
+   - markus@cvs.openbsd.org 2001/09/17 20:50:22
+     [key.c ssh-keygen.c]
+     better error handling if you try to export a bad key to ssh.com
 
 20010917
  - (djm) x11-ssh-askpass-1.2.4 in RPM spec, revert workarounds
diff --git a/key.c b/key.c
index 482168de08ff36c821a23ab6e17a0757a855be47..b382f36cf2bb5ea9b1d70e2cf63bb7fde267445d 100644 (file)
--- a/key.c
+++ b/key.c
@@ -32,7 +32,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 #include "includes.h"
-RCSID("$OpenBSD: key.c,v 1.30 2001/09/17 19:27:15 stevesk Exp $");
+RCSID("$OpenBSD: key.c,v 1.31 2001/09/17 20:50:22 markus Exp $");
 
 #include <openssl/evp.h>
 
@@ -728,8 +728,9 @@ key_to_blob(Key *key, u_char **blobp, u_int *lenp)
                buffer_put_bignum2(&b, key->rsa->n);
                break;
        default:
-               error("key_to_blob: illegal key type %d", key->type);
-               break;
+               error("key_to_blob: unsupported key type %d", key->type);
+               buffer_free(&b);
+               return 0;
        }
        len = buffer_len(&b);
        buf = xmalloc(len);
index db4fef2fea9370a779d59af6e345dcbcc2d73f0d..299ba79c8b5fd97da1651a03c793b6ac6406bc49 100644 (file)
@@ -12,7 +12,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: ssh-keygen.c,v 1.80 2001/09/17 19:27:15 stevesk Exp $");
+RCSID("$OpenBSD: ssh-keygen.c,v 1.81 2001/09/17 20:50:22 markus Exp $");
 
 #include <openssl/evp.h>
 #include <openssl/pem.h>
@@ -163,7 +163,10 @@ do_convert_to_ssh2(struct passwd *pw)
                        exit(1);
                }
        }
-       key_to_blob(k, &blob, &len);
+       if (key_to_blob(k, &blob, &len) <= 0) {
+               fprintf(stderr, "key_to_blob failed\n");
+               exit(1);
+       }
        fprintf(stdout, "%s\n", SSH_COM_PUBLIC_BEGIN);
        fprintf(stdout,
            "Comment: \"%d-bit %s, converted from OpenSSH by %s@%s\"\n",
This page took 0.049043 seconds and 5 git commands to generate.