msi: fix for MsiGetProperty
Aric Stewart
aric at codeweavers.com
Fri Jul 8 11:23:45 CDT 2005
if MsiGetProperty(A/W) is called with a NULL for the value buffer but a
value in the size for the value buffer, then Msi fills in the size of
the value into the pointer for size. This is tested and confirmed with
native MSI.
-------------- next part --------------
Index: dlls/msi/package.c
===================================================================
RCS file: /home/wine/wine/dlls/msi/package.c,v
retrieving revision 1.45
diff -u -r1.45 package.c
--- dlls/msi/package.c 8 Jul 2005 14:19:00 -0000 1.45
+++ dlls/msi/package.c 8 Jul 2005 16:22:36 -0000
@@ -893,6 +893,10 @@
if (NULL != szValueBuf && NULL == pchValueBuf)
return ERROR_INVALID_PARAMETER;
+ /* This was tested agienst native msi */
+ if (NULL == szValueBuf && NULL != pchValueBuf)
+ *pchValueBuf = 0;
+
package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE);
if (!package)
return ERROR_INVALID_HANDLE;
@@ -919,6 +923,10 @@
return ERROR_INVALID_PARAMETER;
if (NULL != szValueBuf && NULL == pchValueBuf)
return ERROR_INVALID_PARAMETER;
+
+ /* This was tested agienst native msi */
+ if (NULL == szValueBuf && NULL != pchValueBuf)
+ *pchValueBuf = 0;
package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE);
if (!package)
More information about the wine-patches
mailing list