Due to a misplaced "}" memory wasn't freed on the error path.

diff --git a/dlls/setupapi/queue.c b/dlls/setupapi/queue.c
index e1f10af..b40f304 100644
--- a/dlls/setupapi/queue.c
+++ b/dlls/setupapi/queue.c
@@ -1036,9 +1036,9 @@
                         docopy = FALSE;
                     }
                 }
-                HeapFree(GetProcessHeap(),0,VersionSource);
-                HeapFree(GetProcessHeap(),0,VersionTarget);
             }
+            HeapFree(GetProcessHeap(),0,VersionSource);
+            HeapFree(GetProcessHeap(),0,VersionTarget);
         }
     }
     if (style & (SP_COPY_NOOVERWRITE | SP_COPY_FORCE_NOOVERWRITE))