Bug 2790

Summary: parameter ssh of function ssh channel_clear_permitted_opens could be NULL
Product: Portable OpenSSH Reporter: bingbing8 <yawang>
Component: MiscellaneousAssignee: Assigned to nobody <unassigned-bugs>
Status: CLOSED INVALID    
Severity: critical CC: djm
Priority: P5    
Version: 7.6p1   
Hardware: Other   
OS: Other   

Description bingbing8 2017-10-06 12:22:50 AEDT
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;
Comment 1 Damien Miller 2017-10-23 12:21:12 AEDT
This call is nonsensical with a NULL argument. How does the Windows port end up attempting it?