Added patch to fix invalid memory access caused by destroying winstation before desktop.

This commit is contained in:
Sebastian Lackner 2016-01-20 21:45:56 +01:00
parent 7fb8937fd3
commit 76eb462240
2 changed files with 41 additions and 0 deletions

View File

@ -250,6 +250,7 @@ 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"
@ -883,6 +884,9 @@ 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"
;;
@ -5242,6 +5246,18 @@ 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

@ -0,0 +1,25 @@
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