diff --git a/README.md b/README.md index 05ee69a3..dae3a55a 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ Wine-Compholio contains fixes for the following Wine bugs: * Add support for extra large and jumbo icon lists in shell32 ([Wine Bug #24721](http://bugs.winehq.org/show_bug.cgi?id=24721 "Explorer++ crashes when choosing to view large icons or extra large icons")) * Allow special characters in pipe names ([Wine Bug #28995](http://bugs.winehq.org/show_bug.cgi?id=28995 "Unable to use named pipes with \">\" character in the name")) * Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](http://bugs.winehq.org/show_bug.cgi?id=16550 "ConnectNamedPort should never return OK in overlapped mode (affects chromium ui_tests.exe)")) +* Fix number of returned properties in PropertyBag_GetPropertyInfo ([Wine Bug #37005](http://bugs.winehq.org/show_bug.cgi?id=37005 "Serif WebPlus Starter Edition crashes on startup (IPropertyBag2::GetPropertyInfo returns more properties than the caller requested, leading to stack smashing)")) * GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](http://bugs.winehq.org/show_bug.cgi?id=15980 "Rhapsody 2 crashes on startup (GetSecurityInfo returns NULL DACL for process object)")) * Implement LoadIconMetric function ([Wine Bug #35375](http://bugs.winehq.org/show_bug.cgi?id=35375 "Multiple applications need Vista+ API COMCTL32.dll.380 a.k.a. 'LoadIconMetric' (Solidworks 2013 systray monitor, Microsoft One/SkyDrive)")) * Implement a Microsoft Yahei replacement font ([Wine Bug #13829](http://bugs.winehq.org/show_bug.cgi?id=13829 "Wine does not have CJK fonts")) diff --git a/patches/Makefile b/patches/Makefile index c04fed05..1acc69a6 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -36,6 +36,7 @@ PATCHLIST := Miscellaneous.ok \ shlwapi-UrlCombine.ok \ user32-GetSystemMetrics.ok \ user32-GetTipText.ok \ + windowscodecs-PropertyBag.ok \ wineboot-HKEY_DYN_DATA.ok \ winepulse-PulseAudio_Support.ok \ winex11-XEMBED.ok \ @@ -652,6 +653,25 @@ user32-GetTipText.ok: echo '+ { "user32-GetTipText", "Erich E. Hoover", "Handle TOOLTIPS_GetTipText edge cases." },'; \ ) > user32-GetTipText.ok +# Patchset windowscodecs-PropertyBag +# | +# | Included patches: +# | * Fix number of returned properties in PropertyBag_GetPropertyInfo. [by Michael Müller] +# | +# | This patchset fixes the following Wine bugs: +# | * [#37005] Serif WebPlus Starter Edition crashes on startup (IPropertyBag2::GetPropertyInfo returns more properties than +# | the caller requested, leading to stack smashing) +# | +# | Modified files: +# | * dlls/windowscodecs/propertybag.c +# | +.INTERMEDIATE: windowscodecs-PropertyBag.ok +windowscodecs-PropertyBag.ok: + $(PATCH) < windowscodecs-PropertyBag/0001-windowscodecs-Fix-number-of-returned-properties-in-P.patch + @( \ + echo '+ { "windowscodecs-PropertyBag", "Michael Müller", "Fix number of returned properties in PropertyBag_GetPropertyInfo." },'; \ + ) > windowscodecs-PropertyBag.ok + # Patchset wineboot-HKEY_DYN_DATA # | # | Included patches: diff --git a/patches/windowscodecs-PropertyBag/0001-windowscodecs-Fix-number-of-returned-properties-in-P.patch b/patches/windowscodecs-PropertyBag/0001-windowscodecs-Fix-number-of-returned-properties-in-P.patch new file mode 100644 index 00000000..6af17387 --- /dev/null +++ b/patches/windowscodecs-PropertyBag/0001-windowscodecs-Fix-number-of-returned-properties-in-P.patch @@ -0,0 +1,26 @@ +From 782be7241e1a135c1645a09b30d95d020c7af8e5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20M=C3=BCller?= +Date: Thu, 7 Aug 2014 02:41:09 +0200 +Subject: windowscodecs: Fix number of returned properties in + PropertyBag_GetPropertyInfo. + +--- + dlls/windowscodecs/propertybag.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dlls/windowscodecs/propertybag.c b/dlls/windowscodecs/propertybag.c +index 02914ec..11fa5b1 100644 +--- a/dlls/windowscodecs/propertybag.c ++++ b/dlls/windowscodecs/propertybag.c +@@ -248,7 +248,7 @@ static HRESULT WINAPI PropertyBag_GetPropertyInfo(IPropertyBag2 *iface, ULONG iP + if (iProperty+cProperties > This->prop_count ) + return WINCODEC_ERR_VALUEOUTOFRANGE; + +- *pcProperties = max(cProperties, This->prop_count-iProperty); ++ *pcProperties = min(cProperties, This->prop_count-iProperty); + + for (i=0; i < *pcProperties; i++) + { +-- +1.8.3.2 + diff --git a/patches/windowscodecs-PropertyBag/definition b/patches/windowscodecs-PropertyBag/definition new file mode 100644 index 00000000..1d9d54fd --- /dev/null +++ b/patches/windowscodecs-PropertyBag/definition @@ -0,0 +1,4 @@ +Author: Michael Müller +Subject: Fix number of returned properties in PropertyBag_GetPropertyInfo. +Revision: 1 +Fixes: [37005] Fix number of returned properties in PropertyBag_GetPropertyInfo