* Sync up to trunk HEAD (r62975).
[reactos.git] / dll / win32 / msi / format.c
index a56b8f8..142f356 100644 (file)
@@ -354,7 +354,11 @@ static LPWSTR build_default_format(const MSIRECORD* record)
         {
             max_len = len;
             buf = msi_realloc(buf, (max_len + 1) * sizeof(WCHAR));
-            if (!buf) return NULL;
+            if (!buf)
+            {
+                msi_free(rc);
+                return NULL;
+            }
         }
 
         if (str)
@@ -715,10 +719,10 @@ static UINT replace_stack(FORMAT *format, STACK *stack, STACK *values)
 
     format->n = n;
     beg = format_replace( format, propfound, nonprop, oldsize, type, replaced, len );
+    msi_free(replaced);
     if (!beg)
         return ERROR_SUCCESS;
 
-    msi_free(replaced);
     format->n = beg->n + beg->len;
 
     top = stack_peek(stack);