Rebase against e5132e5a91208253e67c0eff709ab5c96d79b790.

[oleaut32-Fix_Invalid_Memory_Access]
Removed patch to fix invalid memory access on 64-bit when warn+heap is used
(accepted upstream).

[server-Fix_Invalid_Memory_Access]
Removed patch to fix invalid memory accesss caused by destroying winstation
before desktop (accepted upstream).
This commit is contained in:
Sebastian Lackner 2016-01-22 17:05:51 +01:00
parent d924f74e90
commit 5bb59bbf48
4 changed files with 5 additions and 87 deletions

View File

@ -1,4 +1,4 @@
From 2fbb817193079dbdba2aaa053e2aa782bf09eaff Mon Sep 17 00:00:00 2001
From ba9d632e784136f5a6bee1bbc3606dd09fed698e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 17 Jan 2016 16:13:29 +0100
Subject: api-ms-win-core-winrt-registration-l1-1-0: Add dll.
@ -40,7 +40,7 @@ index 0000000..20c8d9c
+@ stub RoGetActivatableClassRegistration
+@ stdcall RoGetServerActivatableClasses(ptr ptr ptr) combase.RoGetServerActivatableClasses
diff --git a/tools/make_specfiles b/tools/make_specfiles
index 0e9d47a..0a5851d 100755
index 476dc85..042cdb2 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -280,6 +280,7 @@ my @dll_groups =
@ -49,8 +49,8 @@ index 0e9d47a..0a5851d 100755
"api-ms-win-core-winrt-string-l1-1-0",
+ "api-ms-win-core-winrt-registration-l1-1-0",
],
);
[
"bthprops.cpl",
--
2.6.4

View File

@ -1,25 +0,0 @@
From bf71baa88e4ae83a5a441ea47136246e698ff55c Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 22 Jan 2016 05:52:32 +0100
Subject: oleaut32: Fix clearing of heap buffer when warn+heap is used.
---
dlls/oleaut32/oleaut.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/oleaut32/oleaut.c b/dlls/oleaut32/oleaut.c
index 00e6daf..93c5fd3 100644
--- a/dlls/oleaut32/oleaut.c
+++ b/dlls/oleaut32/oleaut.c
@@ -309,7 +309,7 @@ void WINAPI SysFreeString(BSTR str)
cache_entry->cnt++;
if(WARN_ON(heap)) {
- unsigned n = bstr_alloc_size(bstr->size) / sizeof(DWORD) - 1;
+ unsigned n = (alloc_size-FIELD_OFFSET(bstr_t, u.ptr))/sizeof(DWORD);
for(i=0; i<n; i++)
bstr->u.dwptr[i] = ARENA_FREE_FILLER;
}
--
2.6.4

View File

@ -51,7 +51,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "8676f7bae099f0ca20c26a29dfa4bebd828b39b9"
echo "e5132e5a91208253e67c0eff709ab5c96d79b790"
}
# Show version information
@ -238,7 +238,6 @@ patch_enable_all ()
enable_nvcuvid_CUDA_Video_Support="$1"
enable_nvencodeapi_Video_Encoder="$1"
enable_ole32_CoGetApartmentType="$1"
enable_oleaut32_Fix_Invalid_Memory_Access="$1"
enable_oleaut32_TKIND_COCLASS="$1"
enable_oleaut32_x86_64_Marshaller="$1"
enable_openal32_EFX_Extension="$1"
@ -254,7 +253,6 @@ patch_enable_all ()
enable_server_Desktop_Refcount="$1"
enable_server_FileEndOfFileInformation="$1"
enable_server_File_Permissions="$1"
enable_server_Fix_Invalid_Memory_Access="$1"
enable_server_Inherited_ACLs="$1"
enable_server_Key_State="$1"
enable_server_Map_EXDEV_Error="$1"
@ -853,9 +851,6 @@ patch_enable ()
ole32-CoGetApartmentType)
enable_ole32_CoGetApartmentType="$2"
;;
oleaut32-Fix_Invalid_Memory_Access)
enable_oleaut32_Fix_Invalid_Memory_Access="$2"
;;
oleaut32-TKIND_COCLASS)
enable_oleaut32_TKIND_COCLASS="$2"
;;
@ -901,9 +896,6 @@ patch_enable ()
server-File_Permissions)
enable_server_File_Permissions="$2"
;;
server-Fix_Invalid_Memory_Access)
enable_server_Fix_Invalid_Memory_Access="$2"
;;
server-Inherited_ACLs)
enable_server_Inherited_ACLs="$2"
;;
@ -5135,18 +5127,6 @@ if test "$enable_nvencodeapi_Video_Encoder" -eq 1; then
) >> "$patchlist"
fi
# Patchset oleaut32-Fix_Invalid_Memory_Access
# |
# | Modified files:
# | * dlls/oleaut32/oleaut.c
# |
if test "$enable_oleaut32_Fix_Invalid_Memory_Access" -eq 1; then
patch_apply oleaut32-Fix_Invalid_Memory_Access/0001-oleaut32-Fix-clearing-of-heap-buffer-when-warn-heap-.patch
(
echo '+ { "Sebastian Lackner", "oleaut32: Fix clearing of heap buffer when warn+heap is used.", 1 },';
) >> "$patchlist"
fi
# Patchset oleaut32-TKIND_COCLASS
# |
# | This patchset fixes the following Wine bugs:
@ -5335,18 +5315,6 @@ if test "$enable_server_FileEndOfFileInformation" -eq 1; then
) >> "$patchlist"
fi
# Patchset server-Fix_Invalid_Memory_Access
# |
# | Modified files:
# | * server/winstation.c
# |
if test "$enable_server_Fix_Invalid_Memory_Access" -eq 1; then
patch_apply server-Fix_Invalid_Memory_Access/0001-server-Fix-invalid-memory-accesss-caused-by-destroyi.patch
(
echo '+ { "Sebastian Lackner", "server: Fix invalid memory accesss caused by destroying winstation before desktop.", 1 },';
) >> "$patchlist"
fi
# Patchset server-Stored_ACLs
# |
# | This patchset has the following (direct or indirect) dependencies:

View File

@ -1,25 +0,0 @@
From d96ffdba8bf208acda52a30d969e496414b5fb30 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 20 Jan 2016 21:42:35 +0100
Subject: server: Fix invalid memory accesss caused by destroying winstation
before desktop.
---
server/winstation.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/server/winstation.c b/server/winstation.c
index 7a6b9fc..ad28476f 100644
--- a/server/winstation.c
+++ b/server/winstation.c
@@ -257,6 +257,7 @@ static void desktop_destroy( struct object *obj )
if (desktop->global_hooks) release_object( desktop->global_hooks );
if (desktop->close_timeout) remove_timeout_user( desktop->close_timeout );
list_remove( &desktop->entry );
+ unlink_named_object( obj );
release_object( desktop->winstation );
}
--
2.6.4