On Sat, 22 May 2021, James Cook wrote:

> >Synopsis:    ssh segfault: hostkeys_check_old passes NULL to sshkey_ssh_name
> >Category:    user
> >Environment:
>       System      : OpenBSD 6.9
>       Details     : OpenBSD 6.9-current (GENERIC.MP) #28: Wed May 19 16:59:40 
> MDT 2021
>                        
> dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> 
>       Architecture: OpenBSD.amd64
>       Machine     : amd64
> >Description:
>       I see a segfault ssh-ing to one of my computers:
> 
>       falsifian moth ~ $ ssh james@angel 
>       no such identity: /home/falsifian/.ssh/unencrypted_id_rsa: No such file 
> or directory
>       (james@angel) Password: 
>       Segmentation fault (core dumped)

Thanks for the very detailed report. Please try this:

diff --git a/clientloop.c b/clientloop.c
index 33a43ba..3716dc0 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -1938,7 +1938,7 @@ hostkeys_check_old(struct hostkey_foreach_line *l, void 
*_ctx)
                if (!sshkey_equal(l->key, ctx->old_keys[i]))
                        continue;
                debug3_f("found deprecated %s key at %s:%ld as %s",
-                   sshkey_ssh_name(ctx->keys[i]), l->path, l->linenum,
+                   sshkey_ssh_name(ctx->old_keys[i]), l->path, l->linenum,
                    hashed ? "[HASHED]" : l->hosts);
                ctx->old_key_seen = 1;
                break;

Reply via email to