Paul Chitescu : kernel32: Reduce registry access to KEY_READ wherever possible.
Alexandre Julliard
julliard at winehq.org
Mon Nov 30 10:42:53 CST 2009
Module: wine
Branch: master
Commit: 590cc1ad55e953d986e29341dc77408914b1e927
URL: http://source.winehq.org/git/wine.git/?a=commit;h=590cc1ad55e953d986e29341dc77408914b1e927
Author: Paul Chitescu <paulc at voip.null.ro>
Date: Mon Nov 30 14:57:16 2009 +0200
kernel32: Reduce registry access to KEY_READ wherever possible.
---
dlls/kernel32/computername.c | 8 ++++----
dlls/kernel32/except.c | 2 +-
dlls/kernel32/locale.c | 2 +-
dlls/kernel32/process.c | 8 ++++----
dlls/kernel32/relay16.c | 4 ++--
5 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/dlls/kernel32/computername.c b/dlls/kernel32/computername.c
index 7ddbac8..258f297 100644
--- a/dlls/kernel32/computername.c
+++ b/dlls/kernel32/computername.c
@@ -206,12 +206,12 @@ static BOOL get_use_dns_option(void)
BOOL ret = TRUE;
_init_attr( &attr, &nameW );
- RtlOpenCurrentUser( KEY_ALL_ACCESS, &root );
+ RtlOpenCurrentUser( KEY_READ, &root );
attr.RootDirectory = root;
RtlInitUnicodeString( &nameW, NetworkW );
/* @@ Wine registry key: HKCU\Software\Wine\Network */
- if (!NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr ))
+ if (!NtOpenKey( &hkey, KEY_READ, &attr ))
{
RtlInitUnicodeString( &nameW, UseDNSW );
if (!NtQueryValueKey( hkey, &nameW, KeyValuePartialInformation, tmp, sizeof(tmp), &dummy ))
@@ -321,12 +321,12 @@ BOOL WINAPI GetComputerNameW(LPWSTR name,LPDWORD size)
_init_attr ( &attr, &nameW );
RtlInitUnicodeString( &nameW, ComputerW );
- if ( ( st = NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr ) ) != STATUS_SUCCESS )
+ if ( ( st = NtOpenKey( &hkey, KEY_READ, &attr ) ) != STATUS_SUCCESS )
goto out;
attr.RootDirectory = hkey;
RtlInitUnicodeString( &nameW, ActiveComputerNameW );
- if ( ( st = NtOpenKey( &hsubkey, KEY_ALL_ACCESS, &attr ) ) != STATUS_SUCCESS )
+ if ( ( st = NtOpenKey( &hsubkey, KEY_READ, &attr ) ) != STATUS_SUCCESS )
goto out;
RtlInitUnicodeString( &nameW, ComputerNameW );
diff --git a/dlls/kernel32/except.c b/dlls/kernel32/except.c
index ca39ec6..701f921 100644
--- a/dlls/kernel32/except.c
+++ b/dlls/kernel32/except.c
@@ -212,7 +212,7 @@ static BOOL start_debugger(PEXCEPTION_POINTERS epointers, HANDLE hEvent)
attr.SecurityQualityOfService = NULL;
RtlInitUnicodeString( &nameW, AeDebugW );
- if (!NtOpenKey( &hDbgConf, KEY_ALL_ACCESS, &attr ))
+ if (!NtOpenKey( &hDbgConf, KEY_READ, &attr ))
{
char buffer[64];
KEY_VALUE_PARTIAL_INFORMATION *info;
diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c
index fb9b517..f1e6370 100644
--- a/dlls/kernel32/locale.c
+++ b/dlls/kernel32/locale.c
@@ -3017,7 +3017,7 @@ static HANDLE NLS_RegOpenKey(HANDLE hRootKey, LPCWSTR szKeyName)
RtlInitUnicodeString( &keyName, szKeyName );
InitializeObjectAttributes(&attr, &keyName, 0, hRootKey, NULL);
- if (NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr ) != STATUS_SUCCESS)
+ if (NtOpenKey( &hkey, KEY_READ, &attr ) != STATUS_SUCCESS)
hkey = 0;
return hkey;
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 7918048..83d3f6c 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -432,7 +432,7 @@ static BOOL set_registry_environment(void)
/* first the system environment variables */
RtlInitUnicodeString( &nameW, env_keyW );
- if (NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr ) == STATUS_SUCCESS)
+ if (NtOpenKey( &hkey, KEY_READ, &attr ) == STATUS_SUCCESS)
{
set_registry_variables( hkey, REG_SZ );
set_registry_variables( hkey, REG_EXPAND_SZ );
@@ -441,9 +441,9 @@ static BOOL set_registry_environment(void)
}
/* then the ones for the current user */
- if (RtlOpenCurrentUser( KEY_ALL_ACCESS, &attr.RootDirectory ) != STATUS_SUCCESS) return ret;
+ if (RtlOpenCurrentUser( KEY_READ, &attr.RootDirectory ) != STATUS_SUCCESS) return ret;
RtlInitUnicodeString( &nameW, envW );
- if (NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr ) == STATUS_SUCCESS)
+ if (NtOpenKey( &hkey, KEY_READ, &attr ) == STATUS_SUCCESS)
{
set_registry_variables( hkey, REG_SZ );
set_registry_variables( hkey, REG_EXPAND_SZ );
@@ -542,7 +542,7 @@ static void set_additional_environment(void)
attr.SecurityDescriptor = NULL;
attr.SecurityQualityOfService = NULL;
RtlInitUnicodeString( &nameW, profile_keyW );
- if (!NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr ))
+ if (!NtOpenKey( &hkey, KEY_READ, &attr ))
{
profile_dir = get_reg_value( hkey, profiles_valueW );
all_users_dir = get_reg_value( hkey, all_users_valueW );
diff --git a/dlls/kernel32/relay16.c b/dlls/kernel32/relay16.c
index b3ac234..f5a710f 100644
--- a/dlls/kernel32/relay16.c
+++ b/dlls/kernel32/relay16.c
@@ -119,7 +119,7 @@ void RELAY16_InitDebugLists(void)
static const WCHAR SnoopIncludeW[] = {'S','n','o','o','p','I','n','c','l','u','d','e',0};
static const WCHAR SnoopExcludeW[] = {'S','n','o','o','p','E','x','c','l','u','d','e',0};
- RtlOpenCurrentUser( KEY_ALL_ACCESS, &root );
+ RtlOpenCurrentUser( KEY_READ, &root );
attr.Length = sizeof(attr);
attr.RootDirectory = root;
attr.ObjectName = &name;
@@ -129,7 +129,7 @@ void RELAY16_InitDebugLists(void)
RtlInitUnicodeString( &name, configW );
/* @@ Wine registry key: HKCU\Software\Wine\Debug */
- if (NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr )) hkey = 0;
+ if (NtOpenKey( &hkey, KEY_READ, &attr )) hkey = 0;
NtClose( root );
if (!hkey) return;
More information about the wine-cvs
mailing list