mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Added patch to fix crash when a device driver segfaults during an open file request.
This commit is contained in:
parent
1a5a9b3087
commit
b7f1c682f3
@ -326,6 +326,7 @@ patch_enable_all ()
|
||||
enable_server_Signal_Thread="$1"
|
||||
enable_server_Stored_ACLs="$1"
|
||||
enable_server_Timestamp_Compat="$1"
|
||||
enable_server_device_manager_destroy="$1"
|
||||
enable_setupapi_DelReg="$1"
|
||||
enable_setupapi_DiskSpaceList="$1"
|
||||
enable_setupapi_Display_Device="$1"
|
||||
@ -1214,6 +1215,9 @@ patch_enable ()
|
||||
server-Timestamp_Compat)
|
||||
enable_server_Timestamp_Compat="$2"
|
||||
;;
|
||||
server-device_manager_destroy)
|
||||
enable_server_device_manager_destroy="$2"
|
||||
;;
|
||||
setupapi-DelReg)
|
||||
enable_setupapi_DelReg="$2"
|
||||
;;
|
||||
@ -7005,6 +7009,18 @@ if test "$enable_server_Timestamp_Compat" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset server-device_manager_destroy
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * server/device.c
|
||||
# |
|
||||
if test "$enable_server_device_manager_destroy" -eq 1; then
|
||||
patch_apply server-device_manager_destroy/0001-server-Fix-crash-when-a-device-driver-segfaults-duri.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Michael Müller", "server: Fix crash when a device driver segfaults during an open file request.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset setupapi-DelReg
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@ -0,0 +1,39 @@
|
||||
From 7947b082f3d34c30f2c69e236db6723985faf35f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 27 May 2017 15:52:32 +0200
|
||||
Subject: server: Fix crash when a device driver segfaults during an open file
|
||||
request.
|
||||
|
||||
---
|
||||
server/device.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/server/device.c b/server/device.c
|
||||
index 42f3e797ab9..a5928f520a9 100644
|
||||
--- a/server/device.c
|
||||
+++ b/server/device.c
|
||||
@@ -623,7 +623,11 @@ static void delete_device( struct device *device )
|
||||
if (!device->manager) return; /* already deleted */
|
||||
|
||||
LIST_FOR_EACH_ENTRY_SAFE( file, next, &device->files, struct device_file, entry )
|
||||
+ {
|
||||
+ grab_object( &file->obj );
|
||||
delete_file( file );
|
||||
+ release_object( &file->obj );
|
||||
+ }
|
||||
|
||||
unlink_named_object( &device->obj );
|
||||
list_remove( &device->entry );
|
||||
@@ -651,7 +655,9 @@ static void device_manager_destroy( struct object *obj )
|
||||
while ((ptr = list_head( &manager->devices )))
|
||||
{
|
||||
struct device *device = LIST_ENTRY( ptr, struct device, entry );
|
||||
+ grab_object( &device->obj );
|
||||
delete_device( device );
|
||||
+ release_object( &device->obj );
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.12.2
|
||||
|
1
patches/server-device_manager_destroy/definition
Normal file
1
patches/server-device_manager_destroy/definition
Normal file
@ -0,0 +1 @@
|
||||
Fixes: Fix crash when a device driver segfaults during an open file request
|
Loading…
Reference in New Issue
Block a user