Paul Vriens : crypt32: Bail out on registry errors and return the
error ( if any).
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Sep 8 10:24:47 CDT 2006
Module: wine
Branch: master
Commit: 360954e46aac3d531848a2e67c791b965472c5cf
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=360954e46aac3d531848a2e67c791b965472c5cf
Author: Paul Vriens <Paul.Vriens at xs4all.nl>
Date: Fri Sep 8 13:18:55 2006 +0200
crypt32: Bail out on registry errors and return the error (if any).
---
dlls/crypt32/main.c | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/dlls/crypt32/main.c b/dlls/crypt32/main.c
index 86b9cf4..6f26943 100644
--- a/dlls/crypt32/main.c
+++ b/dlls/crypt32/main.c
@@ -131,7 +131,7 @@ static LONG CRYPT_SIPWriteFunction( LPGU
static const WCHAR szDllName[] = { 'D','l','l',0 };
static const WCHAR szFuncName[] = { 'F','u','n','c','N','a','m','e',0 };
WCHAR szFullKey[ 0x100 ];
- LONG r;
+ LONG r = ERROR_SUCCESS;
HKEY hKey;
if( !szFunction )
@@ -147,18 +147,20 @@ static LONG CRYPT_SIPWriteFunction( LPGU
TRACE("key is %s\n", debugstr_w( szFullKey ) );
r = RegCreateKeyW( HKEY_LOCAL_MACHINE, szFullKey, &hKey );
- if( r != ERROR_SUCCESS )
- return r;
+ if( r != ERROR_SUCCESS ) goto error_close_key;
/* write the values */
- RegSetValueExW( hKey, szFuncName, 0, REG_SZ, (const BYTE*) szFunction,
- ( lstrlenW( szFunction ) + 1 ) * sizeof (WCHAR) );
- RegSetValueExW( hKey, szDllName, 0, REG_SZ, (const BYTE*) szDll,
- ( lstrlenW( szDll ) + 1) * sizeof (WCHAR) );
+ r = RegSetValueExW( hKey, szFuncName, 0, REG_SZ, (const BYTE*) szFunction,
+ ( lstrlenW( szFunction ) + 1 ) * sizeof (WCHAR) );
+ if( r != ERROR_SUCCESS ) goto error_close_key;
+ r = RegSetValueExW( hKey, szDllName, 0, REG_SZ, (const BYTE*) szDll,
+ ( lstrlenW( szDll ) + 1) * sizeof (WCHAR) );
+
+error_close_key:
RegCloseKey( hKey );
- return ERROR_SUCCESS;
+ return r;
}
BOOL WINAPI CryptSIPAddProvider(SIP_ADD_NEWPROVIDER *psNewProv)
More information about the wine-cvs
mailing list