mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-10 01:48:00 +00:00
Fix a potential crash in ssh_setup_portfwd.
If we search for a colon by computing ptr + host_strcspn(ptr,":"), then the resulting pointer is always non-NULL, and the 'not found' condition is not !p but !*p. This typo could have caused PuTTY to overrun a string, but not in a security-bug sense because any such string would have to have been loaded from the configuration rather than received from a hostile source. [originally from svn r10123]
This commit is contained in:
parent
5a5ef64a30
commit
ee83fb6fdb
2
ssh.c
2
ssh.c
@ -4955,7 +4955,7 @@ static void ssh_setup_portfwd(Ssh ssh, Conf *conf)
|
|||||||
vp = val;
|
vp = val;
|
||||||
vp2 = vp + host_strcspn(vp, ":");
|
vp2 = vp + host_strcspn(vp, ":");
|
||||||
host = dupprintf("%.*s", (int)(vp2 - vp), vp);
|
host = dupprintf("%.*s", (int)(vp2 - vp), vp);
|
||||||
if (vp2)
|
if (*vp2)
|
||||||
vp2++;
|
vp2++;
|
||||||
dports = vp2;
|
dports = vp2;
|
||||||
dport = atoi(dports);
|
dport = atoi(dports);
|
||||||
|
Loading…
Reference in New Issue
Block a user