]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: pass back errors from ed25519 key generation, which master anongit/master
authordjm@openbsd.org <djm@openbsd.org>
Thu, 30 Jul 2026 03:39:39 +0000 (03:39 +0000)
committerDamien Miller <djm@mindrot.org>
Thu, 30 Jul 2026 03:49:44 +0000 (13:49 +1000)
theoretically can fail. From Dimitri John Ledkov via GHPR702.

ok deraadt@ dtucker@

OpenBSD-Commit-ID: 1ecdd981c3f89393092949ff5e96662946fc5040

ssh-ed25519.c

index 2369c3af069b89ba36194ef802275700a5c154df..8228f2830fdcfba5a4bd03420040e42c9890ff58 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-ed25519.c,v 1.22 2026/02/14 00:18:34 jsg Exp $ */
+/* $OpenBSD: ssh-ed25519.c,v 1.23 2026/07/30 03:39:39 djm Exp $ */
 /*
  * Copyright (c) 2013 Markus Friedl <markus@openbsd.org>
  *
@@ -83,7 +83,8 @@ ssh_ed25519_generate(struct sshkey *k, int bits)
        if ((k->ed25519_pk = malloc(ED25519_PK_SZ)) == NULL ||
            (k->ed25519_sk = malloc(ED25519_SK_SZ)) == NULL)
                return SSH_ERR_ALLOC_FAIL;
-       crypto_sign_ed25519_keypair(k->ed25519_pk, k->ed25519_sk);
+       if (crypto_sign_ed25519_keypair(k->ed25519_pk, k->ed25519_sk) != 0)
+               return SSH_ERR_CRYPTO_ERROR;
        return 0;
 }