mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 0ead40dc9b87ebbd74ad6ebda0182365ab2efde3.
This commit is contained in:
parent
9a9401026f
commit
88e6b6c65c
@ -1,4 +1,4 @@
|
||||
From bb64d06b76f761af74d6d7beb94997cc8953ca0d Mon Sep 17 00:00:00 2001
|
||||
From b1bbc311c1e2dec72e04be9c668b6072d11b04fb Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 2 Oct 2014 19:53:46 +0200
|
||||
Subject: [PATCH] winelib: Append '(Staging)' at the end of the version string.
|
||||
@ -8,11 +8,11 @@ Subject: [PATCH] winelib: Append '(Staging)' at the end of the version string.
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/Makefile.in b/dlls/ntdll/Makefile.in
|
||||
index 52f63892af6..f9029b49a6f 100644
|
||||
index a553536d4c7..71e3df13b66 100644
|
||||
--- a/dlls/ntdll/Makefile.in
|
||||
+++ b/dlls/ntdll/Makefile.in
|
||||
@@ -81,7 +81,7 @@ unix_loader_EXTRADEFS = \
|
||||
-DBIN_TO_DATADIR=\"`$(MAKEDEP) -R ${bindir} ${datadir}/wine`\"
|
||||
-DBIN_TO_DATADIR=\"`${MAKEDEP} -R ${bindir} ${datadir}/wine`\"
|
||||
|
||||
unix/version.c: dummy
|
||||
- version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-$(PACKAGE_VERSION)") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || (rm -f $@ && exit 1)
|
||||
|
@ -1,90 +0,0 @@
|
||||
From 742a0e44027d4893d5a7a39f81ad0a8518ae3ceb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Tue, 8 Sep 2020 19:17:01 +0200
|
||||
Subject: [PATCH] combase: Implement CoCreateInstanceFromApp semi-stub.
|
||||
|
||||
Flight Simulator calls it (a lot) to create WICImagingFactory2 objects.
|
||||
---
|
||||
.../api-ms-win-core-com-l1-1-0.spec | 2 +-
|
||||
.../api-ms-win-core-com-l1-1-1.spec | 2 +-
|
||||
dlls/combase/combase.c | 11 +++++++++++
|
||||
dlls/combase/combase.spec | 2 +-
|
||||
dlls/ole32/ole32.spec | 1 +
|
||||
5 files changed, 15 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec b/dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec
|
||||
index eb81d238550..f5be6d88c75 100644
|
||||
--- a/dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec
|
||||
+++ b/dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec
|
||||
@@ -8,7 +8,7 @@
|
||||
@ stdcall CoCreateGuid(ptr) ole32.CoCreateGuid
|
||||
@ stdcall CoCreateInstance(ptr ptr long ptr ptr) ole32.CoCreateInstance
|
||||
@ stdcall CoCreateInstanceEx(ptr ptr long ptr long ptr) ole32.CoCreateInstanceEx
|
||||
-@ stub CoCreateInstanceFromApp
|
||||
+@ stdcall CoCreateInstanceFromApp(ptr ptr long ptr long ptr) ole32.CoCreateInstanceFromApp
|
||||
@ stub CoDecodeProxy
|
||||
@ stdcall CoDecrementMTAUsage(ptr) ole32.CoDecrementMTAUsage
|
||||
@ stdcall CoDisableCallCancellation(ptr) ole32.CoDisableCallCancellation
|
||||
diff --git a/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec b/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec
|
||||
index 6c3115d6007..f443592db3b 100644
|
||||
--- a/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec
|
||||
+++ b/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec
|
||||
@@ -8,7 +8,7 @@
|
||||
@ stdcall CoCreateGuid(ptr) ole32.CoCreateGuid
|
||||
@ stdcall CoCreateInstance(ptr ptr long ptr ptr) ole32.CoCreateInstance
|
||||
@ stdcall CoCreateInstanceEx(ptr ptr long ptr long ptr) ole32.CoCreateInstanceEx
|
||||
-@ stub CoCreateInstanceFromApp
|
||||
+@ stdcall CoCreateInstanceFromApp(ptr ptr long ptr long ptr) ole32.CoCreateInstanceFromApp
|
||||
@ stub CoDecodeProxy
|
||||
@ stdcall CoDecrementMTAUsage(ptr) ole32.CoDecrementMTAUsage
|
||||
@ stdcall CoDisableCallCancellation(ptr) ole32.CoDisableCallCancellation
|
||||
diff --git a/dlls/combase/combase.c b/dlls/combase/combase.c
|
||||
index c90cba6185c..e6d582bfc56 100644
|
||||
--- a/dlls/combase/combase.c
|
||||
+++ b/dlls/combase/combase.c
|
||||
@@ -1570,6 +1570,17 @@ HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstanceEx(REFCLSID rclsid, IUnknown *o
|
||||
return return_multi_qi(unk, count, results, TRUE);
|
||||
}
|
||||
|
||||
+/***********************************************************************
|
||||
+ * CoCreateInstanceFromApp [OLE32.@]
|
||||
+ */
|
||||
+HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstanceFromApp(REFCLSID rclsid, IUnknown *outer,
|
||||
+ DWORD cls_context, void *reserved, DWORD count, MULTI_QI *results)
|
||||
+{
|
||||
+ static int once;
|
||||
+ if (!once++) FIXME("%s, %p, %#x, %p, %u, %p semi-stub\n", debugstr_guid(rclsid), outer, cls_context, reserved, count, results);
|
||||
+ return CoCreateInstanceEx(rclsid, outer, cls_context, NULL, count, results);
|
||||
+}
|
||||
+
|
||||
/***********************************************************************
|
||||
* CoGetClassObject (combase.@)
|
||||
*/
|
||||
diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec
|
||||
index 9d9b34640be..6e74cca1f24 100644
|
||||
--- a/dlls/combase/combase.spec
|
||||
+++ b/dlls/combase/combase.spec
|
||||
@@ -82,7 +82,7 @@
|
||||
@ stdcall CoCreateGuid(ptr)
|
||||
@ stdcall CoCreateInstance(ptr ptr long ptr ptr)
|
||||
@ stdcall CoCreateInstanceEx(ptr ptr long ptr long ptr)
|
||||
-@ stub CoCreateInstanceFromApp
|
||||
+@ stdcall CoCreateInstanceFromApp(ptr ptr long ptr long ptr)
|
||||
@ stub CoCreateObjectInContext
|
||||
@ stub CoDeactivateObject
|
||||
@ stub CoDecodeProxy
|
||||
diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec
|
||||
index a6f62ebfa99..8e73fdd16b4 100644
|
||||
--- a/dlls/ole32/ole32.spec
|
||||
+++ b/dlls/ole32/ole32.spec
|
||||
@@ -14,6 +14,7 @@
|
||||
@ stdcall CoCreateGuid(ptr) combase.CoCreateGuid
|
||||
@ stdcall CoCreateInstance(ptr ptr long ptr ptr) combase.CoCreateInstance
|
||||
@ stdcall CoCreateInstanceEx(ptr ptr long ptr long ptr) combase.CoCreateInstanceEx
|
||||
+@ stdcall CoCreateInstanceFromApp(ptr ptr long ptr long ptr) combase.CoCreateInstanceFromApp
|
||||
@ stdcall CoDecrementMTAUsage(ptr) combase.CoDecrementMTAUsage
|
||||
@ stdcall CoDisableCallCancellation(ptr) combase.CoDisableCallCancellation
|
||||
@ stdcall CoDisconnectObject(ptr long) combase.CoDisconnectObject
|
||||
--
|
||||
2.28.0
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [49740] combase: Implement CoCreateInstanceFromApp semi-stub.
|
@ -1,30 +0,0 @@
|
||||
From 38d4fa059ffd4ecba4e7d04e2a5edd2bcff3c7df Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 27 Aug 2014 00:31:23 +0200
|
||||
Subject: [PATCH] configure: Also add the absolute RPATH when linking against
|
||||
libwine.
|
||||
|
||||
---
|
||||
configure.ac | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index c88013910af..a7f1866bf0d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -969,10 +969,10 @@ case $host_os in
|
||||
WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7d400000"
|
||||
|
||||
WINE_TRY_CFLAGS([-Wl,--rpath,\$ORIGIN/../lib],
|
||||
- [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
|
||||
+ [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`:\$(DESTDIR)\${libdir}"
|
||||
LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"],
|
||||
[WINE_TRY_CFLAGS([-Wl,-R,\$ORIGIN/../lib],
|
||||
- [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
|
||||
+ [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`:\$(DESTDIR)\${libdir}"
|
||||
LDRPATH_LOCAL="-Wl,-R,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"])])
|
||||
|
||||
WINE_TRY_CFLAGS([-Wl,--enable-new-dtags],
|
||||
--
|
||||
2.27.0
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [26256] Support for setcap on wine-preloader
|
@ -1,29 +0,0 @@
|
||||
From 94c8ff1915712fb6fe00804ba618dac7633db432 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Tue, 8 Sep 2020 17:17:48 +0200
|
||||
Subject: [PATCH] kernelbase: Also pass CreateFile2 flags to CreateFileW.
|
||||
|
||||
Instead of just attributes.
|
||||
|
||||
Otherwise we may miss important flags like FILE_FLAG_OVERLAPPED and open
|
||||
the file for synchronous I/O, causing a deadlock in Flight Simulator.
|
||||
---
|
||||
dlls/kernelbase/file.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c
|
||||
index e022a29478e..4f30caaac7c 100644
|
||||
--- a/dlls/kernelbase/file.c
|
||||
+++ b/dlls/kernelbase/file.c
|
||||
@@ -718,7 +718,7 @@ HANDLE WINAPI DECLSPEC_HOTPATCH CreateFile2( LPCWSTR name, DWORD access, DWORD s
|
||||
CREATEFILE2_EXTENDED_PARAMETERS *params )
|
||||
{
|
||||
LPSECURITY_ATTRIBUTES sa = params ? params->lpSecurityAttributes : NULL;
|
||||
- DWORD attributes = params ? params->dwFileAttributes : 0;
|
||||
+ DWORD attributes = params ? (params->dwFileAttributes | params->dwFileFlags) : 0;
|
||||
HANDLE template = params ? params->hTemplateFile : NULL;
|
||||
|
||||
FIXME( "(%s %x %x %x %p), partial stub\n", debugstr_w(name), access, sharing, creation, params );
|
||||
--
|
||||
2.28.0
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [49740] kernelbase: Also pass CreateFile2 flags to CreateFileW.
|
@ -1,4 +1,4 @@
|
||||
From 6db04e49d442610e2d1d3c0ffc70d25a0024e1fe Mon Sep 17 00:00:00 2001
|
||||
From 0f8b2bb82ce32a1b5d384a6b1c970145de6bad57 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 3 Apr 2017 05:30:27 +0200
|
||||
Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data.
|
||||
@ -10,7 +10,7 @@ Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data.
|
||||
3 files changed, 141 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
|
||||
index 3dee67d5a91..3623d9d99a1 100644
|
||||
index 33073820240..ab793b1e136 100644
|
||||
--- a/dlls/kernel32/tests/loader.c
|
||||
+++ b/dlls/kernel32/tests/loader.c
|
||||
@@ -30,6 +30,7 @@
|
||||
@ -21,7 +21,7 @@ index 3dee67d5a91..3623d9d99a1 100644
|
||||
#include "wine/test.h"
|
||||
#include "delayloadhandler.h"
|
||||
|
||||
@@ -3957,6 +3958,79 @@ static void test_LoadPackagedLibrary(void)
|
||||
@@ -3970,6 +3971,79 @@ static void test_LoadPackagedLibrary(void)
|
||||
h, GetLastError());
|
||||
}
|
||||
|
||||
@ -101,19 +101,19 @@ index 3dee67d5a91..3623d9d99a1 100644
|
||||
START_TEST(loader)
|
||||
{
|
||||
int argc;
|
||||
@@ -4029,6 +4103,7 @@ START_TEST(loader)
|
||||
@@ -4042,6 +4116,7 @@ START_TEST(loader)
|
||||
test_InMemoryOrderModuleList();
|
||||
test_LoadPackagedLibrary();
|
||||
test_wow64_redirection();
|
||||
+ test_HashLinks();
|
||||
test_dll_file( "ntdll.dll", FALSE );
|
||||
test_dll_file( "kernel32.dll", TRUE );
|
||||
test_dll_file( "advapi32.dll", TRUE );
|
||||
test_dll_file( "advapi32.dll", FALSE );
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 7b301031605..1bb05ebfbac 100644
|
||||
index ccaae0a5a25..37ee3b2cf23 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -124,6 +124,9 @@ struct file_id
|
||||
@@ -123,6 +123,9 @@ struct file_id
|
||||
BYTE ObjectId[16];
|
||||
};
|
||||
|
||||
@ -123,7 +123,7 @@ index 7b301031605..1bb05ebfbac 100644
|
||||
/* internal representation of loaded modules */
|
||||
typedef struct _wine_modref
|
||||
{
|
||||
@@ -483,6 +486,52 @@ static void call_ldr_notifications( ULONG reason, LDR_DATA_TABLE_ENTRY *module )
|
||||
@@ -462,6 +465,52 @@ static void call_ldr_notifications( ULONG reason, LDR_DATA_TABLE_ENTRY *module )
|
||||
}
|
||||
}
|
||||
|
||||
@ -176,7 +176,7 @@ index 7b301031605..1bb05ebfbac 100644
|
||||
/*************************************************************************
|
||||
* get_modref
|
||||
*
|
||||
@@ -1224,7 +1273,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name
|
||||
@@ -1203,7 +1252,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name
|
||||
&wm->ldr.InLoadOrderLinks);
|
||||
InsertTailList(&NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList,
|
||||
&wm->ldr.InMemoryOrderLinks);
|
||||
@ -189,7 +189,7 @@ index 7b301031605..1bb05ebfbac 100644
|
||||
|
||||
if (!(nt->OptionalHeader.DllCharacteristics & IMAGE_DLLCHARACTERISTICS_NX_COMPAT))
|
||||
{
|
||||
@@ -1955,6 +2009,7 @@ static NTSTATUS build_module( LPCWSTR load_path, const UNICODE_STRING *nt_name,
|
||||
@@ -1910,6 +1964,7 @@ static NTSTATUS build_module( LPCWSTR load_path, const UNICODE_STRING *nt_name,
|
||||
/* the module has only be inserted in the load & memory order lists */
|
||||
RemoveEntryList(&wm->ldr.InLoadOrderLinks);
|
||||
RemoveEntryList(&wm->ldr.InMemoryOrderLinks);
|
||||
@ -197,7 +197,7 @@ index 7b301031605..1bb05ebfbac 100644
|
||||
|
||||
/* FIXME: there are several more dangling references
|
||||
* left. Including dlls loaded by this dll before the
|
||||
@@ -3305,6 +3360,7 @@ static void free_modref( WINE_MODREF *wm )
|
||||
@@ -3247,6 +3302,7 @@ static void free_modref( WINE_MODREF *wm )
|
||||
{
|
||||
RemoveEntryList(&wm->ldr.InLoadOrderLinks);
|
||||
RemoveEntryList(&wm->ldr.InMemoryOrderLinks);
|
||||
@ -205,7 +205,7 @@ index 7b301031605..1bb05ebfbac 100644
|
||||
if (wm->ldr.InInitializationOrderLinks.Flink)
|
||||
RemoveEntryList(&wm->ldr.InInitializationOrderLinks);
|
||||
|
||||
@@ -4066,6 +4122,7 @@ static NTSTATUS process_init(void)
|
||||
@@ -3974,6 +4030,7 @@ static NTSTATUS process_init(void)
|
||||
INITIAL_TEB stack;
|
||||
TEB *teb = NtCurrentTeb();
|
||||
PEB *peb = teb->Peb;
|
||||
@ -213,7 +213,7 @@ index 7b301031605..1bb05ebfbac 100644
|
||||
|
||||
peb->LdrData = &ldr;
|
||||
peb->FastPebLock = &peb_lock;
|
||||
@@ -4105,6 +4162,10 @@ static NTSTATUS process_init(void)
|
||||
@@ -4012,6 +4069,10 @@ static NTSTATUS process_init(void)
|
||||
load_global_options();
|
||||
version_init();
|
||||
|
||||
@ -224,7 +224,7 @@ index 7b301031605..1bb05ebfbac 100644
|
||||
/* setup the load callback and create ntdll modref */
|
||||
RtlInitUnicodeString( &nt_name, ntdllW );
|
||||
NtQueryVirtualMemory( GetCurrentProcess(), process_init, MemoryBasicInformation,
|
||||
@@ -4199,6 +4260,10 @@ static NTSTATUS process_init(void)
|
||||
@@ -4106,6 +4167,10 @@ static NTSTATUS process_init(void)
|
||||
teb->Tib.StackBase = stack.StackBase;
|
||||
teb->Tib.StackLimit = stack.StackLimit;
|
||||
teb->DeallocationStack = stack.DeallocationStack;
|
||||
@ -236,10 +236,10 @@ index 7b301031605..1bb05ebfbac 100644
|
||||
}
|
||||
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index 9a087d2848a..c73ec3828bd 100644
|
||||
index b4621827454..d5f87c642be 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -2679,8 +2679,8 @@ typedef struct _LDR_DATA_TABLE_ENTRY
|
||||
@@ -2678,8 +2678,8 @@ typedef struct _LDR_DATA_TABLE_ENTRY
|
||||
ULONG Flags;
|
||||
SHORT LoadCount;
|
||||
SHORT TlsIndex;
|
||||
|
@ -1,38 +0,0 @@
|
||||
From 0cb2647baa3ea72babb05e24d2f1fa23cdedb0a1 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 7 Jan 2016 06:01:01 +0100
|
||||
Subject: [PATCH] ntdll: Return buffer filled with random values from
|
||||
SystemInterruptInformation.
|
||||
|
||||
---
|
||||
dlls/ntdll/unix/system.c | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/system.c b/dlls/ntdll/unix/system.c
|
||||
index 68de16b7e5b..5ba9fb41156 100644
|
||||
--- a/dlls/ntdll/unix/system.c
|
||||
+++ b/dlls/ntdll/unix/system.c
|
||||
@@ -2003,8 +2003,20 @@ NTSTATUS WINAPI NtQuerySystemInformation( SYSTEM_INFORMATION_CLASS class,
|
||||
case SystemInterruptInformation:
|
||||
{
|
||||
SYSTEM_INTERRUPT_INFORMATION sii = {{ 0 }};
|
||||
+ int dev_random;
|
||||
|
||||
len = sizeof(sii);
|
||||
+
|
||||
+ /* Some applications use the returned buffer for random number
|
||||
+ * generation. Its unlikely that an app depends on the exact
|
||||
+ * layout, so just fill with values from /dev/urandom. */
|
||||
+ dev_random = open( "/dev/urandom", O_RDONLY );
|
||||
+ if (dev_random != -1)
|
||||
+ {
|
||||
+ read( dev_random, &sii, sizeof(sii) );
|
||||
+ close( dev_random );
|
||||
+ }
|
||||
+
|
||||
if (size >= len)
|
||||
{
|
||||
if (!info) ret = STATUS_ACCESS_VIOLATION;
|
||||
--
|
||||
2.27.0
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [39123] Return buffer filled with random values from SystemInterruptInformation
|
@ -1,27 +0,0 @@
|
||||
From 1b6f10a6952b56b5626760c01587f96df0ab16db Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 4 Oct 2014 02:38:27 +0200
|
||||
Subject: [PATCH] advapi: Trigger write watches before passing userdata pointer
|
||||
to read syscall.
|
||||
|
||||
---
|
||||
dlls/advapi32/crypt.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/advapi32/crypt.c b/dlls/advapi32/crypt.c
|
||||
index 7199795b4759..4cd436d79259 100644
|
||||
--- a/dlls/advapi32/crypt.c
|
||||
+++ b/dlls/advapi32/crypt.c
|
||||
@@ -2443,7 +2443,8 @@ BOOLEAN WINAPI SystemFunction036(PVOID pbBuffer, ULONG dwLen)
|
||||
dev_random = open("/dev/urandom", O_RDONLY);
|
||||
if (dev_random != -1)
|
||||
{
|
||||
- if (read(dev_random, pbBuffer, dwLen) == (ssize_t)dwLen)
|
||||
+ if (!IsBadWritePtr( pbBuffer, dwLen ) &&
|
||||
+ read(dev_random, pbBuffer, dwLen) == (ssize_t)dwLen)
|
||||
{
|
||||
close(dev_random);
|
||||
return TRUE;
|
||||
--
|
||||
2.20.1
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "8827eb6a83348057293f89be535ccb74607db608"
|
||||
echo "0ead40dc9b87ebbd74ad6ebda0182365ab2efde3"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -91,12 +91,10 @@ patch_enable_all ()
|
||||
enable_atl_AtlAxDialogBox="$1"
|
||||
enable_bcrypt_ECDHSecretAgreement="$1"
|
||||
enable_cmd_launch_association="$1"
|
||||
enable_combase_CoCreateInstanceFromApp="$1"
|
||||
enable_comctl32_Listview_DrawItem="$1"
|
||||
enable_comctl32_rebar_capture="$1"
|
||||
enable_comctl32_version_6="$1"
|
||||
enable_comdlg32_lpstrFileTitle="$1"
|
||||
enable_configure_Absolute_RPATH="$1"
|
||||
enable_crypt32_CMS_Certificates="$1"
|
||||
enable_cryptext_CryptExtOpenCER="$1"
|
||||
enable_d3d11_Deferred_Context="$1"
|
||||
@ -145,7 +143,6 @@ patch_enable_all ()
|
||||
enable_kernel32_Job_Tests="$1"
|
||||
enable_kernel32_Processor_Group="$1"
|
||||
enable_kernel32_SetProcessDEPPolicy="$1"
|
||||
enable_kernelbase_CreateFile2="$1"
|
||||
enable_krnl386_exe16_GDT_LDT_Emulation="$1"
|
||||
enable_krnl386_exe16_Invalid_Console_Handles="$1"
|
||||
enable_loader_KeyboardLayouts="$1"
|
||||
@ -193,7 +190,6 @@ patch_enable_all ()
|
||||
enable_ntdll_Syscall_Emulation="$1"
|
||||
enable_ntdll_SystemCodeIntegrityInformation="$1"
|
||||
enable_ntdll_SystemExtendedProcessInformation="$1"
|
||||
enable_ntdll_SystemInterruptInformation="$1"
|
||||
enable_ntdll_SystemModuleInformation="$1"
|
||||
enable_ntdll_WRITECOPY="$1"
|
||||
enable_ntdll_Zero_mod_name="$1"
|
||||
@ -371,9 +367,6 @@ patch_enable ()
|
||||
cmd-launch-association)
|
||||
enable_cmd_launch_association="$2"
|
||||
;;
|
||||
combase-CoCreateInstanceFromApp)
|
||||
enable_combase_CoCreateInstanceFromApp="$2"
|
||||
;;
|
||||
comctl32-Listview_DrawItem)
|
||||
enable_comctl32_Listview_DrawItem="$2"
|
||||
;;
|
||||
@ -386,9 +379,6 @@ patch_enable ()
|
||||
comdlg32-lpstrFileTitle)
|
||||
enable_comdlg32_lpstrFileTitle="$2"
|
||||
;;
|
||||
configure-Absolute_RPATH)
|
||||
enable_configure_Absolute_RPATH="$2"
|
||||
;;
|
||||
crypt32-CMS_Certificates)
|
||||
enable_crypt32_CMS_Certificates="$2"
|
||||
;;
|
||||
@ -533,9 +523,6 @@ patch_enable ()
|
||||
kernel32-SetProcessDEPPolicy)
|
||||
enable_kernel32_SetProcessDEPPolicy="$2"
|
||||
;;
|
||||
kernelbase-CreateFile2)
|
||||
enable_kernelbase_CreateFile2="$2"
|
||||
;;
|
||||
krnl386.exe16-GDT_LDT_Emulation)
|
||||
enable_krnl386_exe16_GDT_LDT_Emulation="$2"
|
||||
;;
|
||||
@ -677,9 +664,6 @@ patch_enable ()
|
||||
ntdll-SystemExtendedProcessInformation)
|
||||
enable_ntdll_SystemExtendedProcessInformation="$2"
|
||||
;;
|
||||
ntdll-SystemInterruptInformation)
|
||||
enable_ntdll_SystemInterruptInformation="$2"
|
||||
;;
|
||||
ntdll-SystemModuleInformation)
|
||||
enable_ntdll_SystemModuleInformation="$2"
|
||||
;;
|
||||
@ -1899,19 +1883,6 @@ if test "$enable_cmd_launch_association" -eq 1; then
|
||||
patch_apply cmd-launch-association/0002-cmd-ftype-failed-to-clear-file-associations.patch
|
||||
fi
|
||||
|
||||
# Patchset combase-CoCreateInstanceFromApp
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#49740] combase: Implement CoCreateInstanceFromApp semi-stub.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec, dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-
|
||||
# | com-l1-1-1.spec, dlls/combase/combase.c, dlls/combase/combase.spec, dlls/ole32/ole32.spec
|
||||
# |
|
||||
if test "$enable_combase_CoCreateInstanceFromApp" -eq 1; then
|
||||
patch_apply combase-CoCreateInstanceFromApp/0001-combase-Implement-CoCreateInstanceFromApp-semi-stub.patch
|
||||
fi
|
||||
|
||||
# Patchset comctl32-Listview_DrawItem
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -1958,18 +1929,6 @@ if test "$enable_comdlg32_lpstrFileTitle" -eq 1; then
|
||||
patch_apply comdlg32-lpstrFileTitle/0001-comdlg32-Postpone-setting-ofn-lpstrFileTitle-to-work.patch
|
||||
fi
|
||||
|
||||
# Patchset configure-Absolute_RPATH
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#26256] Support for setcap on wine-preloader
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * configure.ac
|
||||
# |
|
||||
if test "$enable_configure_Absolute_RPATH" -eq 1; then
|
||||
patch_apply configure-Absolute_RPATH/0001-configure-Also-add-the-absolute-RPATH-when-linking-a.patch
|
||||
fi
|
||||
|
||||
# Patchset crypt32-CMS_Certificates
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -2723,18 +2682,6 @@ if test "$enable_kernel32_SetProcessDEPPolicy" -eq 1; then
|
||||
patch_apply kernel32-SetProcessDEPPolicy/0003-kernel32-Make-system-DEP-policy-affect-GetProcessDEP.patch
|
||||
fi
|
||||
|
||||
# Patchset kernelbase-CreateFile2
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#49740] kernelbase: Also pass CreateFile2 flags to CreateFileW.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernelbase/file.c
|
||||
# |
|
||||
if test "$enable_kernelbase_CreateFile2" -eq 1; then
|
||||
patch_apply kernelbase-CreateFile2/0001-kernelbase-Also-pass-CreateFile2-flags-to-CreateFile.patch
|
||||
fi
|
||||
|
||||
# Patchset krnl386.exe16-GDT_LDT_Emulation
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -3027,14 +2974,13 @@ fi
|
||||
# | Empires II, MSYS2)
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/advapi32/crypt.c, dlls/advapi32/tests/security.c, dlls/kernel32/tests/virtual.c, dlls/ntdll/unix/loader.c,
|
||||
# | dlls/ntdll/unix/server.c, dlls/ntdll/unix/signal_arm.c, dlls/ntdll/unix/signal_arm64.c, dlls/ntdll/unix/signal_i386.c,
|
||||
# | * dlls/advapi32/tests/security.c, dlls/kernel32/tests/virtual.c, dlls/ntdll/unix/loader.c, dlls/ntdll/unix/server.c,
|
||||
# | dlls/ntdll/unix/signal_arm.c, dlls/ntdll/unix/signal_arm64.c, dlls/ntdll/unix/signal_i386.c,
|
||||
# | dlls/ntdll/unix/signal_x86_64.c, dlls/ntdll/unix/unix_private.h, dlls/ntdll/unix/virtual.c,
|
||||
# | dlls/psapi/tests/psapi_main.c
|
||||
# |
|
||||
if test "$enable_ntdll_WRITECOPY" -eq 1; then
|
||||
patch_apply ntdll-WRITECOPY/0001-ntdll-Trigger-write-watches-before-passing-userdata-.patch
|
||||
patch_apply ntdll-WRITECOPY/0002-advapi-Trigger-write-watches-before-passing-userdata.patch
|
||||
patch_apply ntdll-WRITECOPY/0003-ntdll-Setup-a-temporary-signal-handler-during-proces.patch
|
||||
patch_apply ntdll-WRITECOPY/0004-ntdll-Properly-handle-PAGE_WRITECOPY-protection.-try.patch
|
||||
patch_apply ntdll-WRITECOPY/0005-ntdll-Track-if-a-WRITECOPY-page-has-been-modified.patch
|
||||
@ -3412,18 +3358,6 @@ if test "$enable_ntdll_SystemCodeIntegrityInformation" -eq 1; then
|
||||
patch_apply ntdll-SystemCodeIntegrityInformation/0001-ntdll-NtQuerySystemInformation-support-SystemCodeInt.patch
|
||||
fi
|
||||
|
||||
# Patchset ntdll-SystemInterruptInformation
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#39123] Return buffer filled with random values from SystemInterruptInformation
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/unix/system.c
|
||||
# |
|
||||
if test "$enable_ntdll_SystemInterruptInformation" -eq 1; then
|
||||
patch_apply ntdll-SystemInterruptInformation/0001-ntdll-Return-buffer-filled-with-random-values-from-S.patch
|
||||
fi
|
||||
|
||||
# Patchset ntdll-SystemModuleInformation
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@ -1 +1 @@
|
||||
8827eb6a83348057293f89be535ccb74607db608
|
||||
0ead40dc9b87ebbd74ad6ebda0182365ab2efde3
|
||||
|
Loading…
Reference in New Issue
Block a user