mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-07-19 03:51:02 -05:00
Jordan Russell's patch (again): a couple of registry read operations
were using RegCreateKey instead of RegOpenKey by mistake. This also required a fix in settings.c to deal gracefully with a NULL return from enum_settings_start() - since the use of RCK had caused this never to happen, the code path had never been tested. [originally from svn r1516]
This commit is contained in:
@ -181,7 +181,7 @@ void *enum_settings_start(void)
|
||||
struct enumsettings *ret;
|
||||
HKEY key;
|
||||
|
||||
if (RegCreateKey(HKEY_CURRENT_USER, puttystr, &key) != ERROR_SUCCESS)
|
||||
if (RegOpenKey(HKEY_CURRENT_USER, puttystr, &key) != ERROR_SUCCESS)
|
||||
return NULL;
|
||||
|
||||
ret = smalloc(sizeof(*ret));
|
||||
@ -246,8 +246,8 @@ int verify_host_key(char *hostname, int port, char *keytype, char *key)
|
||||
|
||||
hostkey_regname(regname, hostname, port, keytype);
|
||||
|
||||
if (RegCreateKey(HKEY_CURRENT_USER, PUTTY_REG_POS "\\SshHostKeys",
|
||||
&rkey) != ERROR_SUCCESS)
|
||||
if (RegOpenKey(HKEY_CURRENT_USER, PUTTY_REG_POS "\\SshHostKeys",
|
||||
&rkey) != ERROR_SUCCESS)
|
||||
return 1; /* key does not exist in registry */
|
||||
|
||||
readlen = len;
|
||||
|
Reference in New Issue
Block a user