mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Added patch to correctly parse double quotes in the msi token values.
This commit is contained in:
parent
28d60dbd10
commit
c7c250e381
@ -34,12 +34,13 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
-----------------------------------
|
||||
|
||||
**Bug fixes and features included in the next upcoming release [18]:**
|
||||
**Bug fixes and features included in the next upcoming release [19]:**
|
||||
|
||||
* Add implementation for mfplat.MFTEnum ([Wine Bug #39309](https://bugs.winehq.org/show_bug.cgi?id=39309))
|
||||
* Add implementation for msidb commandline tool
|
||||
* BitBlt and StretchDIBits should be marked as hotpatchable
|
||||
* Codepage conversion should fail when destination length is < 0
|
||||
* Correctly parse double quotes in the msi token values
|
||||
* Do not trust width/height passed to edit control in WM_SIZE message ([Wine Bug #37542](https://bugs.winehq.org/show_bug.cgi?id=37542))
|
||||
* Do not use GdipAlloc and GdipFree in internal functions ([Wine Bug #32786](https://bugs.winehq.org/show_bug.cgi?id=32786))
|
||||
* Do not wait for hook thread startup in IDirectInput8::Initialize ([Wine Bug #21403](https://bugs.winehq.org/show_bug.cgi?id=21403))
|
||||
|
1
debian/changelog
vendored
1
debian/changelog
vendored
@ -30,6 +30,7 @@ wine-staging (1.7.52) UNRELEASED; urgency=low
|
||||
* Added patch for implementation of mfplat.MFTEnum.
|
||||
* Added patch to implement ws2_32.InetPtonA/W functions.
|
||||
* Added patch to fix random crashes of Cygwin/MSYS2 for some compilers.
|
||||
* Added patch to correctly parse double quotes in the msi token values.
|
||||
* Removed patch to fix possible memory leak in netprofm init_networks (fixed
|
||||
upstream).
|
||||
* Removed patch for stub of dwmapi.DwmUpdateThumbnailProperties (accepted
|
||||
|
@ -0,0 +1,40 @@
|
||||
From e519306a786d2133a1e8e487f8d126419154f929 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Wed, 23 Sep 2015 16:07:18 +0800
|
||||
Subject: msi: Correctly parse double quotes in the token value.
|
||||
|
||||
This fixes an installer that passes to InstallProduct a command line like
|
||||
PROPERTY1="Installing ""Product name"" version 8.0" PROPERTY2=1 PROPERTY3=1
|
||||
In this case properties PROPERTY2 and PROPERTY3 were not recognized and that
|
||||
led to an installation failure when a custom action didn't see them as set.
|
||||
|
||||
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
---
|
||||
dlls/msi/action.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
|
||||
index 16c633b..f2e8e71 100644
|
||||
--- a/dlls/msi/action.c
|
||||
+++ b/dlls/msi/action.c
|
||||
@@ -245,7 +245,7 @@ static int parse_prop( const WCHAR *str, WCHAR *value, int *quotes )
|
||||
{
|
||||
case '"':
|
||||
state = state_quote;
|
||||
- if (in_quotes) count--;
|
||||
+ if (in_quotes && p[1] != '\"') count--;
|
||||
else count++;
|
||||
break;
|
||||
case ' ':
|
||||
@@ -329,7 +329,7 @@ UINT msi_parse_command_line( MSIPACKAGE *package, LPCWSTR szCommandLine,
|
||||
|
||||
ptr2 = strchrW( ptr, '=' );
|
||||
if (!ptr2) return ERROR_INVALID_COMMAND_LINE;
|
||||
-
|
||||
+
|
||||
len = ptr2 - ptr;
|
||||
if (!len) return ERROR_INVALID_COMMAND_LINE;
|
||||
|
||||
--
|
||||
2.5.1
|
||||
|
1
patches/msi-Parse_Double_Quotes/definition
Normal file
1
patches/msi-Parse_Double_Quotes/definition
Normal file
@ -0,0 +1 @@
|
||||
Fixes: Correctly parse double quotes in the msi token values
|
@ -177,6 +177,7 @@ patch_enable_all ()
|
||||
enable_mountmgr_DosDevices="$1"
|
||||
enable_mscoree_CorValidateImage="$1"
|
||||
enable_mshtml_HTMLLocation_put_hash="$1"
|
||||
enable_msi_Parse_Double_Quotes="$1"
|
||||
enable_msi_msi_get_property="$1"
|
||||
enable_msidb_Implementation="$1"
|
||||
enable_msvcp90_basic_string_dtor="$1"
|
||||
@ -635,6 +636,9 @@ patch_enable ()
|
||||
mshtml-HTMLLocation_put_hash)
|
||||
enable_mshtml_HTMLLocation_put_hash="$2"
|
||||
;;
|
||||
msi-Parse_Double_Quotes)
|
||||
enable_msi_Parse_Double_Quotes="$2"
|
||||
;;
|
||||
msi-msi_get_property)
|
||||
enable_msi_msi_get_property="$2"
|
||||
;;
|
||||
@ -3837,6 +3841,18 @@ if test "$enable_mshtml_HTMLLocation_put_hash" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset msi-Parse_Double_Quotes
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/msi/action.c
|
||||
# |
|
||||
if test "$enable_msi_Parse_Double_Quotes" -eq 1; then
|
||||
patch_apply msi-Parse_Double_Quotes/0001-msi-Correctly-parse-double-quotes-in-the-token-value.patch
|
||||
(
|
||||
echo '+ { "Dmitry Timoshkov", "msi: Correctly parse double quotes in the token value.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset msi-msi_get_property
|
||||
# |
|
||||
# | Modified files:
|
||||
|
Loading…
Reference in New Issue
Block a user