6627898 [tcde] xserver crashes on screensaver timeout being reached nv_79
authorLokanath Das <Lokanath.Das@Sun.COM>
Fri, 16 Nov 2007 16:54:07 -0800
changeset 250 01f9dae8314d
parent 249 1765764860d4
child 251 cefdc2fc2cd5
6627898 [tcde] xserver crashes on screensaver timeout being reached
open-src/xserver/xorg/sun-src/tsol/tsolpolicy.c
--- a/open-src/xserver/xorg/sun-src/tsol/tsolpolicy.c	Fri Nov 16 14:28:55 2007 -0800
+++ b/open-src/xserver/xorg/sun-src/tsol/tsolpolicy.c	Fri Nov 16 16:54:07 2007 -0800
@@ -26,7 +26,7 @@
  * of the copyright holder.
  */ 
 
-#pragma ident   "@(#)tsolpolicy.c 1.19     07/07/31 SMI"
+#pragma ident   "@(#)tsolpolicy.c 1.20     07/11/16 SMI"
 
 #ifdef HAVE_DIX_CONFIG_H 
 #include <dix-config.h> 
@@ -1078,7 +1078,7 @@
 	int ret_stat = PASSED;
 	ClientPtr res_client;
 	int	err_code = BadAccess;
-    Bool do_audit = FALSE;
+	Bool do_audit = FALSE;
 	ClientPtr client = subject;
 	TsolInfoPtr res_tsolinfo;
 	TsolInfoPtr tsolinfo = GetClientTsolInfo(client);
@@ -1089,6 +1089,15 @@
 	}
 	res_tsolinfo = GetClientTsolInfo(res_client);
 
+	/* TrustedPath is needed to get serverClient attributes */
+	if (res_client == serverClient || res_tsolinfo == NULL)
+	{
+		if (client == serverClient || HasTrustedPath(tsolinfo))
+			return (PASSED); 
+		else
+			return (BadValue);
+	}
+
 	/*
 	 * MAC Check
 	 */