| Summary: | parameter ssh of function ssh channel_clear_permitted_opens could be NULL | ||
|---|---|---|---|
| Product: | Portable OpenSSH | Reporter: | bingbing8 <yawang> |
| Component: | Miscellaneous | Assignee: | Assigned to nobody <unassigned-bugs> |
| Status: | CLOSED INVALID | ||
| Severity: | critical | CC: | djm |
| Priority: | P5 | ||
| Version: | 7.6p1 | ||
| Hardware: | Other | ||
| OS: | Other | ||
This call is nonsensical with a NULL argument. How does the Windows port end up attempting it? |
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;