mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-05-28 23:34:49 -05:00

In commit 7d44e35bb3780c0 I introduced a bug: we were providing an array of MAXKEXLIST ints to ssh2_scan_kexinits() to write a list of server-supplied host keys into, and when MAXKEXLIST stopped being a thing, I mindlessly replaced it with an array dynamically allocated to the number of host key types we'd offered the server. But we return a list of host key types the _server_ offered _us_ (and that we can speak at all), which isn't necessarily the same thing. In particular, if you deliberately ask to cache a new host key type from the specials menu, we send a KEXINIT offering just _one_ host key type, namely the one you've asked for. But that loop still writes down all the key types it gets back from the server, which is (almost certainly) more than one. So the array overflows. In that situation we don't really need the returned array of key types at all, but it's easier to just make it work than to add conditionals. Replaced it with a dynamically grown array in the usual sort of way.
This is the README for PuTTY, a free Windows and Unix Telnet and SSH client. PuTTY is built using CMake <https://cmake.org/>. To compile in the simplest way (on any of Linux, Windows or Mac), run these commands in the source directory: cmake . cmake --build . Documentation (in various formats including Windows Help and Unix `man' pages) is built from the Halibut (`.but') files in the `doc' subdirectory using `doc/Makefile'. If you aren't using one of our source snapshots, you'll need to do this yourself. Halibut can be found at <https://www.chiark.greenend.org.uk/~sgtatham/halibut/>. The PuTTY home web site is https://www.chiark.greenend.org.uk/~sgtatham/putty/ If you want to send bug reports or feature requests, please read the Feedback section of the web site before doing so. Sending one-line reports saying `it doesn't work' will waste your time as much as ours. See the file LICENCE for the licence conditions.
Description
Languages
C
89.7%
Python
8%
Perl
0.9%
CMake
0.8%
Shell
0.4%
Other
0.1%