diff --git a/README.md b/README.md index 1ba3e937..cf7e8d36 100644 --- a/README.md +++ b/README.md @@ -39,11 +39,12 @@ Wine. All those differences are also documented on the Included bug fixes and improvements ----------------------------------- -**Bug fixes and features included in the next upcoming release [14]:** +**Bug fixes and features included in the next upcoming release [15]:** * Add implementation for kernel32.GetNumaProcessorNode ([Wine Bug #38660](https://bugs.winehq.org/show_bug.cgi?id=38660)) * Allow to enable/disable InsertMode in wineconsole settings ([Wine Bug #38697](https://bugs.winehq.org/show_bug.cgi?id=38697)) * Allow to set pixel format for desktop window +* Fix endless loop in regedit when importing files with very long lines * Fix link notification conditions for riched20 ([Wine Bug #35949](https://bugs.winehq.org/show_bug.cgi?id=35949)) * Implement default homepage button in inetcpl.cpl * Implement mscoree._CorValidateImage for mono runtime ([Wine Bug #38662](https://bugs.winehq.org/show_bug.cgi?id=38662)) diff --git a/debian/changelog b/debian/changelog index 02e7311c..9862f838 100644 --- a/debian/changelog +++ b/debian/changelog @@ -32,6 +32,8 @@ wine-staging (1.7.45) UNRELEASED; urgency=low System\CurrentControlSet\Control\TimeZoneInformation registry keys. * Added patch to implement default homepage button in inetcpl.cpl. * Added patch to fix link notification conditions for riched20. + * Added patch to fix endless loop in regedit when importing files with very + long lines. * Removed patch to handle '\r' as whitespace in wbemprox queries (accepted upstream). * Removed patch to make sure OpenClipboard with current owner doesn't fail diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 7b21ab5a..f95fcbec 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -196,6 +196,7 @@ patch_enable_all () enable_nvencodeapi_Video_Encoder="$1" enable_opengl32_Revert_Disable_Ext="$1" enable_quartz_MediaSeeking_Positions="$1" + enable_regedit_Reg_Parser="$1" enable_riched20_IText_Interface="$1" enable_riched20_Link_Notification="$1" enable_rpcrt4_Pipe_Transport="$1" @@ -660,6 +661,9 @@ patch_enable () quartz-MediaSeeking_Positions) enable_quartz_MediaSeeking_Positions="$2" ;; + regedit-Reg_Parser) + enable_regedit_Reg_Parser="$2" + ;; riched20-IText_Interface) enable_riched20_IText_Interface="$2" ;; @@ -4168,6 +4172,18 @@ if test "$enable_quartz_MediaSeeking_Positions" -eq 1; then ) >> "$patchlist" fi +# Patchset regedit-Reg_Parser +# | +# | Modified files: +# | * programs/regedit/regproc.c +# | +if test "$enable_regedit_Reg_Parser" -eq 1; then + patch_apply regedit-Reg_Parser/0001-regedit-Need-3-bytes-of-room-at-end-of-buffer-for-r-.patch + ( + echo '+ { "Jiaxing Wang", "regedit: Need 3 bytes of room at end of buffer for \\\\r\\\\n\\\\0 to avoid endless loop.", 1 },'; + ) >> "$patchlist" +fi + # Patchset riched20-IText_Interface # | # | Modified files: @@ -5102,6 +5118,30 @@ if test "$enable_wined3d_CSMT_Helper" -eq 1; then ) >> "$patchlist" fi +# Patchset wined3d-UnhandledBlendFactor +# | +# | Modified files: +# | * dlls/wined3d/state.c +# | +if test "$enable_wined3d_UnhandledBlendFactor" -eq 1; then + patch_apply wined3d-UnhandledBlendFactor/0001-wined3d-Silence-repeated-Unhandled-blend-factor-0-me.patch + ( + echo '+ { "Sebastian Lackner", "wined3d: Silence repeated '\''Unhandled blend factor 0'\'' messages.", 1 },'; + ) >> "$patchlist" +fi + +# Patchset wined3d-wined3d_swapchain_present +# | +# | Modified files: +# | * dlls/wined3d/swapchain.c +# | +if test "$enable_wined3d_wined3d_swapchain_present" -eq 1; then + patch_apply wined3d-wined3d_swapchain_present/0001-wined3d-Silence-repeated-wined3d_swapchain_present-F.patch + ( + echo '+ { "Sebastian Lackner", "wined3d: Silence repeated wined3d_swapchain_present FIXME.", 1 },'; + ) >> "$patchlist" +fi + # Patchset wined3d-Revert_PixelFormat # | # | This patchset fixes the following Wine bugs: @@ -5148,30 +5188,6 @@ if test "$enable_wined3d_resource_check_usage" -eq 1; then ) >> "$patchlist" fi -# Patchset wined3d-UnhandledBlendFactor -# | -# | Modified files: -# | * dlls/wined3d/state.c -# | -if test "$enable_wined3d_UnhandledBlendFactor" -eq 1; then - patch_apply wined3d-UnhandledBlendFactor/0001-wined3d-Silence-repeated-Unhandled-blend-factor-0-me.patch - ( - echo '+ { "Sebastian Lackner", "wined3d: Silence repeated '\''Unhandled blend factor 0'\'' messages.", 1 },'; - ) >> "$patchlist" -fi - -# Patchset wined3d-wined3d_swapchain_present -# | -# | Modified files: -# | * dlls/wined3d/swapchain.c -# | -if test "$enable_wined3d_wined3d_swapchain_present" -eq 1; then - patch_apply wined3d-wined3d_swapchain_present/0001-wined3d-Silence-repeated-wined3d_swapchain_present-F.patch - ( - echo '+ { "Sebastian Lackner", "wined3d: Silence repeated wined3d_swapchain_present FIXME.", 1 },'; - ) >> "$patchlist" -fi - # Patchset wined3d-Multisampling # | # | This patchset fixes the following Wine bugs: diff --git a/patches/regedit-Reg_Parser/0001-regedit-Need-3-bytes-of-room-at-end-of-buffer-for-r-.patch b/patches/regedit-Reg_Parser/0001-regedit-Need-3-bytes-of-room-at-end-of-buffer-for-r-.patch new file mode 100644 index 00000000..ff6e9a71 --- /dev/null +++ b/patches/regedit-Reg_Parser/0001-regedit-Need-3-bytes-of-room-at-end-of-buffer-for-r-.patch @@ -0,0 +1,26 @@ +From cda8b02c4668966712fb2eeca1e821b22f500575 Mon Sep 17 00:00:00 2001 +From: Jiaxing Wang +Date: Thu, 21 May 2015 19:14:53 +0800 +Subject: regedit: Need 3 bytes of room at end of buffer for \r\n\0 to avoid + endless loop. + +--- + programs/regedit/regproc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/programs/regedit/regproc.c b/programs/regedit/regproc.c +index 643b559..2d766de 100644 +--- a/programs/regedit/regproc.c ++++ b/programs/regedit/regproc.c +@@ -641,7 +641,7 @@ static void processRegLinesA(FILE *in, char* first_chars) + /* Do we need to expand the buffer ? */ + assert (s >= line && s <= line + lineSize); + size_remaining = lineSize - (s-line); +- if (size_remaining < 2) /* room for 1 character and the \0 */ ++ if (size_remaining < 3) /* need at least 3 bytes of room for \r\n\0 */ + { + char *new_buffer; + size_t new_size = lineSize + REG_VAL_BUF_SIZE; +-- +2.4.2 + diff --git a/patches/regedit-Reg_Parser/definition b/patches/regedit-Reg_Parser/definition new file mode 100644 index 00000000..d6cb56a1 --- /dev/null +++ b/patches/regedit-Reg_Parser/definition @@ -0,0 +1 @@ +Fixes: Fix endless loop in regedit when importing files with very long lines