key base auth fail on windows because parameter ssh ssh-agent on windows is null and the demon crashes. ssh-agent does not call auth_clear_options but it does not need to call packet_set_connection. void channel_clear_permitted_opens(struct ssh *ssh) { struct ssh_channels *sc = ssh->chanctxt; sc->permitted_opens = xrecallocarray(sc->permitted_opens, sc->num_permitted_opens, 0, sizeof(*sc->permitted_opens)); sc->num_permitted_opens = 0; } Please add parameter check. if(ssh == NULL) return;
This call is nonsensical with a NULL argument. How does the Windows port end up attempting it?