winecfg: Protect from closing the root key.
Dmitry Timoshkov
dmitry at codeweavers.com
Wed Mar 9 23:31:54 CST 2011
This patch should fix the crash reported in the bug #26367.
---
programs/winecfg/winecfg.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/programs/winecfg/winecfg.c b/programs/winecfg/winecfg.c
index c41d2ba..707a431 100644
--- a/programs/winecfg/winecfg.c
+++ b/programs/winecfg/winecfg.c
@@ -562,7 +562,7 @@ static WCHAR **enumerate_valuesW(HKEY root, WCHAR *path)
values[valueslen] = NULL;
}
- RegCloseKey(key);
+ if (key != root) RegCloseKey(key);
return values;
}
@@ -646,7 +646,7 @@ static void process_setting(struct setting *s)
/* NULL name means remove that path/section entirely */
if (s->name) RegDeleteValueW( key, s->name );
else RegDeleteTreeW( key, NULL );
- RegCloseKey( key );
+ if (key != s->root) RegCloseKey( key );
}
if (needs_wow64)
{
@@ -655,7 +655,7 @@ static void process_setting(struct setting *s)
{
if (s->name) RegDeleteValueW( key, s->name );
else RegDeleteTreeW( key, NULL );
- RegCloseKey( key );
+ if (key != s->root) RegCloseKey( key );
}
}
}
--
1.7.3.5
More information about the wine-patches
mailing list