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;