This repository has been archived by the owner on Jan 13, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 72
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
patches: update patches for overwatch 2, wine: update to proton bleed…
…ing edge
- Loading branch information
1 parent
2fd5e9c
commit 2bf2a3e
Showing
6 changed files
with
413 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
64 changes: 64 additions & 0 deletions
64
patches/wine-hotfixes/pending/4bf9d2403f269e7f3595ad075a4afee9adbda51f.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
From 4bf9d2403f269e7f3595ad075a4afee9adbda51f Mon Sep 17 00:00:00 2001 | ||
From: Alexandre Julliard <[email protected]> | ||
Date: Wed, 6 Jul 2022 12:46:50 +0200 | ||
Subject: [PATCH] ntdll: Fix the return value of NtQueryKey for a short buffer. | ||
|
||
Signed-off-by: Alexandre Julliard <[email protected]> | ||
--- | ||
dlls/ntdll/unix/registry.c | 8 ++------ | ||
2 files changed, 17 insertions(+), 7 deletions(-) | ||
|
||
diff --git a/dlls/ntdll/unix/registry.c b/dlls/ntdll/unix/registry.c | ||
index 9c98bf48399f..428f8c9eb3ce 100644 | ||
--- a/dlls/ntdll/unix/registry.c | ||
+++ b/dlls/ntdll/unix/registry.c | ||
@@ -268,7 +268,6 @@ static NTSTATUS enumerate_key( HANDLE handle, int index, KEY_INFORMATION_CLASS i | ||
case KeyBasicInformation: | ||
{ | ||
KEY_BASIC_INFORMATION keyinfo; | ||
- fixed_size = (char *)keyinfo.Name - (char *)&keyinfo; | ||
keyinfo.LastWriteTime.QuadPart = reply->modif; | ||
keyinfo.TitleIndex = 0; | ||
keyinfo.NameLength = reply->namelen; | ||
@@ -279,7 +278,6 @@ static NTSTATUS enumerate_key( HANDLE handle, int index, KEY_INFORMATION_CLASS i | ||
case KeyFullInformation: | ||
{ | ||
KEY_FULL_INFORMATION keyinfo; | ||
- fixed_size = (char *)keyinfo.Class - (char *)&keyinfo; | ||
keyinfo.LastWriteTime.QuadPart = reply->modif; | ||
keyinfo.TitleIndex = 0; | ||
keyinfo.ClassLength = wine_server_reply_size(reply); | ||
@@ -297,7 +295,6 @@ static NTSTATUS enumerate_key( HANDLE handle, int index, KEY_INFORMATION_CLASS i | ||
case KeyNodeInformation: | ||
{ | ||
KEY_NODE_INFORMATION keyinfo; | ||
- fixed_size = (char *)keyinfo.Name - (char *)&keyinfo; | ||
keyinfo.LastWriteTime.QuadPart = reply->modif; | ||
keyinfo.TitleIndex = 0; | ||
if (reply->namelen < wine_server_reply_size(reply)) | ||
@@ -318,7 +315,6 @@ static NTSTATUS enumerate_key( HANDLE handle, int index, KEY_INFORMATION_CLASS i | ||
case KeyNameInformation: | ||
{ | ||
KEY_NAME_INFORMATION keyinfo; | ||
- fixed_size = (char *)keyinfo.Name - (char *)&keyinfo; | ||
keyinfo.NameLength = reply->namelen; | ||
memcpy( info, &keyinfo, min( length, fixed_size ) ); | ||
break; | ||
@@ -327,7 +323,6 @@ static NTSTATUS enumerate_key( HANDLE handle, int index, KEY_INFORMATION_CLASS i | ||
case KeyCachedInformation: | ||
{ | ||
KEY_CACHED_INFORMATION keyinfo; | ||
- fixed_size = sizeof(keyinfo); | ||
keyinfo.LastWriteTime.QuadPart = reply->modif; | ||
keyinfo.TitleIndex = 0; | ||
keyinfo.SubKeys = reply->subkeys; | ||
@@ -344,7 +339,8 @@ static NTSTATUS enumerate_key( HANDLE handle, int index, KEY_INFORMATION_CLASS i | ||
break; | ||
} | ||
*result_len = fixed_size + reply->total; | ||
- if (length < *result_len) ret = STATUS_BUFFER_OVERFLOW; | ||
+ if (length < fixed_size) ret = STATUS_BUFFER_TOO_SMALL; | ||
+ else if (length < *result_len) ret = STATUS_BUFFER_OVERFLOW; | ||
} | ||
} | ||
SERVER_END_REQ; |
Oops, something went wrong.