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