Module: wine Branch: master Commit: 360954e46aac3d531848a2e67c791b965472c5cf URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=360954e46aac3d531848a2e6...
Author: Paul Vriens Paul.Vriens@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)