]> xenbits.xensource.com Git - people/pauldu/xennet.git/commitdiff
Fix a double-free and add more logging in the co-installer
authorPaul Durrant <paul.durrant@citrix.com>
Thu, 13 Mar 2014 17:45:38 +0000 (18:45 +0100)
committerPaul Durrant <paul.durrant@citrix.com>
Thu, 13 Mar 2014 17:45:38 +0000 (18:45 +0100)
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
src/coinst/coinst.c

index b1c1b2f5d89ac3f262d8a0c99a06609273d74e53..3f6b64193a5e725643c222ae7a330051d75a0895 100644 (file)
@@ -2077,6 +2077,8 @@ CopyKeyValues(
     LPBYTE      Value;
     DWORD       Index;
 
+    Log("====>");
+
     Error = RegQueryInfoKey(SourceKey,
                             NULL,
                             NULL,
@@ -2094,6 +2096,8 @@ CopyKeyValues(
         goto fail1;
     }
 
+    Log("%d VALUES", Values);
+
     if (Values == 0)
         goto done;
 
@@ -2148,10 +2152,9 @@ CopyKeyValues(
     free(Value);
     free(Name);
 
-    RegCloseKey(SourceKey);
-    RegCloseKey(DestinationKey);
-
 done:
+    Log("<====");
+
     return TRUE;
 
 fail5:
@@ -2197,6 +2200,7 @@ CopyValues(
     HKEY        DestinationKey;
     HKEY        SourceKey;
 
+    Log("====>");
 
     Log("DESTINATION: %s", DestinationKeyName);
     Log("SOURCE: %s", SourceKeyName);
@@ -2230,6 +2234,8 @@ CopyValues(
     RegCloseKey(SourceKey);
     RegCloseKey(DestinationKey);
 
+    Log("<====");
+
     return TRUE;
 
 fail2:
@@ -2265,6 +2271,8 @@ CopyParameters(
     HRESULT     Error;
     BOOLEAN     Success;
 
+    Log("====>");
+
     Length = (DWORD)((strlen(Prefix) +
                       strlen(DestinationName) +
                       1) * sizeof (TCHAR));
@@ -2306,6 +2314,8 @@ CopyParameters(
     free(SourceKeyName);
     free(DestinationKeyName);
 
+    Log("<====");
+
     return Success;
 
 fail4:
@@ -3295,7 +3305,7 @@ DecrementServiceCount(
 
     RegCloseKey(ServiceKey);
 
-    Log("<====  ");
+    Log("<====");
 
     return TRUE;