From cd5c916e25de06309c5ae261f709e4c09b1ea9fc Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Mon, 5 Jul 1999 16:13:31 +0000 Subject: [PATCH] Improve error handling in registry code [originally from svn r170] --- windlg.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/windlg.c b/windlg.c index 306ee4ff..757300dc 100644 --- a/windlg.c +++ b/windlg.c @@ -213,14 +213,17 @@ static void load_settings (char *section, int do_host) { p = malloc(3*strlen(section)+1); mungestr(section, p); - - if (RegOpenKey(HKEY_CURRENT_USER, puttystr, &subkey1) != ERROR_SUCCESS || - RegOpenKey(subkey1, p, &sesskey) != ERROR_SUCCESS) { + + if (RegOpenKey(HKEY_CURRENT_USER, puttystr, &subkey1) != ERROR_SUCCESS) { sesskey = NULL; + } else { + if (RegOpenKey(subkey1, p, &sesskey) != ERROR_SUCCESS) { + sesskey = NULL; + } + RegCloseKey(subkey1); } free(p); - RegCloseKey(subkey1); if (do_host) { char prot[10];