Robert Shearman : msi: Fix conversion of path to include nul-termination character in MsiProvideQualifiedComponentA .

Alexandre Julliard julliard at wine.codeweavers.com
Tue Jul 18 05:13:26 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: aea12b46953d7a42e911b11fde1eaba7c3365874
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=aea12b46953d7a42e911b11fde1eaba7c3365874

Author: Robert Shearman <rob at codeweavers.com>
Date:   Mon Jul 17 20:19:19 2006 +0100

msi: Fix conversion of path to include nul-termination character in MsiProvideQualifiedComponentA.

---

 dlls/msi/msi.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c
index 241287c..a488b12 100644
--- a/dlls/msi/msi.c
+++ b/dlls/msi/msi.c
@@ -1617,7 +1617,7 @@ UINT WINAPI MsiProvideQualifiedComponent
                 DWORD* pcchPathBuf)
 {
     LPWSTR szwComponent, szwQualifier, lpwPathBuf;
-    DWORD pcchwPathBuf;
+    DWORD cchwPathBuf;
     UINT rc;
 
     TRACE("%s %s %li %p %p\n",szComponent, szQualifier,
@@ -1628,16 +1628,16 @@ UINT WINAPI MsiProvideQualifiedComponent
 
     lpwPathBuf = msi_alloc(*pcchPathBuf * sizeof(WCHAR));
 
-    pcchwPathBuf = *pcchPathBuf;
+    cchwPathBuf = *pcchPathBuf;
 
     rc = MsiProvideQualifiedComponentW(szwComponent, szwQualifier, 
-                    dwInstallMode, lpwPathBuf, &pcchwPathBuf);
+                    dwInstallMode, lpwPathBuf, &cchwPathBuf);
 
     msi_free(szwComponent);
     msi_free(szwQualifier);
 
     if (rc == ERROR_SUCCESS)
-        *pcchPathBuf = WideCharToMultiByte(CP_ACP, 0, lpwPathBuf, pcchwPathBuf,
+        *pcchPathBuf = WideCharToMultiByte(CP_ACP, 0, lpwPathBuf, cchwPathBuf + 1,
                                            lpPathBuf, *pcchPathBuf, NULL, NULL);
 
     msi_free(lpwPathBuf);




More information about the wine-cvs mailing list