mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Added patch to initialize *lpcDevices in RasEnumDevicesA.
This commit is contained in:
parent
872be6fa25
commit
7c8e6d90d3
@ -39,10 +39,11 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
-----------------------------------
|
||||
|
||||
**Bug fixes and features included in the next upcoming release [4]:**
|
||||
**Bug fixes and features included in the next upcoming release [5]:**
|
||||
|
||||
* Globally invalidate key state on changes in other threads ([Wine Bug #29871](https://bugs.winehq.org/show_bug.cgi?id=29871))
|
||||
* Implement general tab for file property dialog
|
||||
* Initialize *lpcDevices in RasEnumDevicesA ([Wine Bug #30378](https://bugs.winehq.org/show_bug.cgi?id=30378))
|
||||
* SecuROM 5.x media validation fails ([Wine Bug #21448](https://bugs.winehq.org/show_bug.cgi?id=21448))
|
||||
* msvcrt.strtod should initialize *end with NULL on failure
|
||||
|
||||
|
1
debian/changelog
vendored
1
debian/changelog
vendored
@ -8,6 +8,7 @@ wine-staging (1.7.46) UNRELEASED; urgency=low
|
||||
* Added patches to improve crosscompiling Wine for other platforms.
|
||||
* Added patch to improve output of '--check-libs' on OSX.
|
||||
* Added patch to implement general tab for file property dialog.
|
||||
* Added patch to initialize *lpcDevices in RasEnumDevicesA.
|
||||
* Improved nvcuda-CUDA_Support patchset to search for dylib on OSX.
|
||||
* Improved wined3d-DXTn patchset to search for dylib on OSX.
|
||||
* Updated kernel32-GetVolumePathName to fix several test failures.
|
||||
|
@ -189,6 +189,7 @@ patch_enable_all ()
|
||||
enable_nvencodeapi_Video_Encoder="$1"
|
||||
enable_opengl32_Revert_Disable_Ext="$1"
|
||||
enable_quartz_MediaSeeking_Positions="$1"
|
||||
enable_rasapi32_RasEnumDevicesA="$1"
|
||||
enable_regedit_Reg_Parser="$1"
|
||||
enable_riched20_IText_Interface="$1"
|
||||
enable_rpcrt4_Pipe_Transport="$1"
|
||||
@ -642,6 +643,9 @@ patch_enable ()
|
||||
quartz-MediaSeeking_Positions)
|
||||
enable_quartz_MediaSeeking_Positions="$2"
|
||||
;;
|
||||
rasapi32-RasEnumDevicesA)
|
||||
enable_rasapi32_RasEnumDevicesA="$2"
|
||||
;;
|
||||
regedit-Reg_Parser)
|
||||
enable_regedit_Reg_Parser="$2"
|
||||
;;
|
||||
@ -4018,6 +4022,21 @@ if test "$enable_quartz_MediaSeeking_Positions" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset rasapi32-RasEnumDevicesA
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#30378] Initialize *lpcDevices in RasEnumDevicesA
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/rasapi32/rasapi.c, dlls/rasapi32/tests/rasapi.c
|
||||
# |
|
||||
if test "$enable_rasapi32_RasEnumDevicesA" -eq 1; then
|
||||
patch_apply rasapi32-RasEnumDevicesA/0001-rasapi32-Set-lpcDevices-in-RasEnumDevicesA.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "rasapi32: Set *lpcDevices in RasEnumDevicesA.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset regedit-Reg_Parser
|
||||
# |
|
||||
# | Modified files:
|
||||
|
@ -0,0 +1,123 @@
|
||||
From 8377389407d8ab624c79cbb072e7c6e5c1b4a8d5 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 28 Jun 2015 03:58:23 +0200
|
||||
Subject: rasapi32: Set *lpcDevices in RasEnumDevicesA.
|
||||
|
||||
Based on a patch by Qian Hong.
|
||||
---
|
||||
dlls/rasapi32/rasapi.c | 2 ++
|
||||
dlls/rasapi32/tests/rasapi.c | 21 +++++++++++++++++++++
|
||||
2 files changed, 23 insertions(+)
|
||||
|
||||
diff --git a/dlls/rasapi32/rasapi.c b/dlls/rasapi32/rasapi.c
|
||||
index 235ab65..c2a4b55 100644
|
||||
--- a/dlls/rasapi32/rasapi.c
|
||||
+++ b/dlls/rasapi32/rasapi.c
|
||||
@@ -254,6 +254,8 @@ DWORD WINAPI RasEnumDevicesA(LPRASDEVINFOA lpRasDevinfo, LPDWORD lpcb, LPDWORD l
|
||||
if(lpRasDevinfo && lpRasDevinfo->dwSize != sizeof(RASDEVINFOA))
|
||||
return ERROR_INVALID_SIZE;
|
||||
|
||||
+ *lpcDevices = 1;
|
||||
+
|
||||
if (!lpRasDevinfo || (*lpcb < sizeof(RASDEVINFOA))) {
|
||||
*lpcb = sizeof(RASDEVINFOA);
|
||||
return ERROR_BUFFER_TOO_SMALL;
|
||||
diff --git a/dlls/rasapi32/tests/rasapi.c b/dlls/rasapi32/tests/rasapi.c
|
||||
index e0ff25f..5171bb2 100644
|
||||
--- a/dlls/rasapi32/tests/rasapi.c
|
||||
+++ b/dlls/rasapi32/tests/rasapi.c
|
||||
@@ -77,54 +77,71 @@ static void test_rasenum(void)
|
||||
|
||||
/* test first parameter */
|
||||
cb = bufsize;
|
||||
+ cDevices = 0xdeadbeef;
|
||||
result = pRasEnumDevicesA(NULL, &cb, &cDevices);
|
||||
+ ok(0 < cDevices && cDevices < 32, "expected 0 < cDevices < 32, got %u\n", cDevices);
|
||||
ok(result == ERROR_BUFFER_TOO_SMALL ||
|
||||
result == ERROR_INVALID_USER_BUFFER, /* win98 */
|
||||
"Expected ERROR_BUFFER_TOO_SMALL, got %08d\n", result);
|
||||
|
||||
rasDevInfo[0].dwSize = 0;
|
||||
cb = bufsize;
|
||||
+ cDevices = 0xdeadbeef;
|
||||
result = pRasEnumDevicesA(rasDevInfo, &cb, &cDevices);
|
||||
+ ok(cDevices == 0xdeadbeef, "expected cDevices = 0xdeadbeef, got %u\n", cDevices);
|
||||
ok(result == ERROR_INVALID_SIZE ||
|
||||
result == ERROR_INVALID_USER_BUFFER, /* win98 */
|
||||
"Expected ERROR_INVALID_SIZE, got %08d\n", result);
|
||||
|
||||
rasDevInfo[0].dwSize = sizeof(RASDEVINFOA) -1;
|
||||
cb = bufsize;
|
||||
+ cDevices = 0xdeadbeef;
|
||||
result = pRasEnumDevicesA(rasDevInfo, &cb, &cDevices);
|
||||
+ ok(cDevices == 0xdeadbeef, "expected cDevices = 0xdeadbeef, got %u\n", cDevices);
|
||||
ok(result == ERROR_INVALID_SIZE ||
|
||||
result == ERROR_INVALID_USER_BUFFER, /* win98 */
|
||||
"Expected ERROR_INVALID_SIZE, got %08d\n", result);
|
||||
|
||||
rasDevInfo[0].dwSize = sizeof(RASDEVINFOA) +1;
|
||||
cb = bufsize;
|
||||
+ cDevices = 0xdeadbeef;
|
||||
result = pRasEnumDevicesA(rasDevInfo, &cb, &cDevices);
|
||||
+ ok(cDevices == 0xdeadbeef, "expected cDevices = 0xdeadbeef, got %u\n", cDevices);
|
||||
ok(result == ERROR_INVALID_SIZE ||
|
||||
result == ERROR_INVALID_USER_BUFFER, /* win98 */
|
||||
"Expected ERROR_INVALID_SIZE, got %08d\n", result);
|
||||
|
||||
/* test second parameter */
|
||||
rasDevInfo[0].dwSize = sizeof(RASDEVINFOA);
|
||||
+ cDevices = 0xdeadbeef;
|
||||
result = pRasEnumDevicesA(rasDevInfo, NULL, &cDevices);
|
||||
+ ok(cDevices == 0xdeadbeef, "expected cDevices = 0xdeadbeef, got %u\n", cDevices);
|
||||
ok(result == ERROR_INVALID_PARAMETER,
|
||||
"Expected ERROR_INVALID_PARAMETER, got %08d\n", result);
|
||||
|
||||
rasDevInfo[0].dwSize = sizeof(RASDEVINFOA);
|
||||
cb = 0;
|
||||
+ cDevices = 0xdeadbeef;
|
||||
result = pRasEnumDevicesA(rasDevInfo, &cb, &cDevices);
|
||||
+ todo_wine
|
||||
+ ok(cDevices == 0xdeadbeef, "expected cDevices = 0xdeadbeef, got %u\n", cDevices);
|
||||
ok(result == ERROR_BUFFER_TOO_SMALL ||
|
||||
result == ERROR_INVALID_SIZE, /* vista, 2k8 */
|
||||
"Expected ERROR_BUFFER_TOO_SMALL/ERROR_INVALID_SIZE, got %08d\n", result);
|
||||
|
||||
rasDevInfo[0].dwSize = sizeof(RASDEVINFOA);
|
||||
cb = bufsize -1;
|
||||
+ cDevices = 0xdeadbeef;
|
||||
result = pRasEnumDevicesA(rasDevInfo, &cb, &cDevices);
|
||||
+ ok(0 < cDevices && cDevices < 32, "expected 0 < cDevices < 32, got %u\n", cDevices);
|
||||
ok(result == ERROR_BUFFER_TOO_SMALL,
|
||||
"Expected ERROR_BUFFER_TOO_SMALL, got %08d\n", result);
|
||||
|
||||
rasDevInfo[0].dwSize = sizeof(RASDEVINFOA);
|
||||
cb = bufsize +1;
|
||||
+ cDevices = 0xdeadbeef;
|
||||
result = pRasEnumDevicesA(rasDevInfo, &cb, &cDevices);
|
||||
+ ok(0 < cDevices && cDevices < 32, "expected 0 < cDevices < 32, got %u\n", cDevices);
|
||||
ok(result == ERROR_SUCCESS,
|
||||
"Expected ERROR_SUCCESS, got %08d\n", result);
|
||||
|
||||
@@ -136,7 +153,9 @@ static void test_rasenum(void)
|
||||
"Expected ERROR_INVALID_PARAMETER, got %08d\n", result);
|
||||
|
||||
/* test combinations of invalid parameters */
|
||||
+ cDevices = 0xdeadbeef;
|
||||
result = pRasEnumDevicesA(NULL, NULL, &cDevices);
|
||||
+ ok(cDevices == 0xdeadbeef, "expected cDevices = 0xdeadbeef, got %u\n", cDevices);
|
||||
ok(result == ERROR_INVALID_PARAMETER,
|
||||
"Expected ERROR_INVALID_PARAMETER, got %08d\n", result);
|
||||
|
||||
@@ -147,7 +166,9 @@ static void test_rasenum(void)
|
||||
|
||||
cb = 0;
|
||||
rasDevInfo[0].dwSize = 0;
|
||||
+ cDevices = 0xdeadbeef;
|
||||
result = pRasEnumDevicesA(rasDevInfo, &cb, &cDevices);
|
||||
+ ok(cDevices == 0xdeadbeef, "expected cDevices = 0xdeadbeef, got %u\n", cDevices);
|
||||
ok(result == ERROR_INVALID_SIZE ||
|
||||
broken(result == ERROR_BUFFER_TOO_SMALL), /* win98 */
|
||||
"Expected ERROR_INVALID_SIZE, got %08d\n", result);
|
||||
--
|
||||
2.4.3
|
||||
|
1
patches/rasapi32-RasEnumDevicesA/definition
Normal file
1
patches/rasapi32-RasEnumDevicesA/definition
Normal file
@ -0,0 +1 @@
|
||||
Fixes: [30378] Initialize *lpcDevices in RasEnumDevicesA
|
Loading…
Reference in New Issue
Block a user