[jboss-remoting-commits] JBoss Remoting SVN: r3857 - remoting2/branches/2.x/src/main/org/jboss/remoting/transport/socket.

jboss-remoting-commits at lists.jboss.org jboss-remoting-commits at lists.jboss.org
Wed Apr 2 00:29:51 EDT 2008


Author: ron.sigal at jboss.com
Date: 2008-04-02 00:29:51 -0400 (Wed, 02 Apr 2008)
New Revision: 3857

Modified:
   remoting2/branches/2.x/src/main/org/jboss/remoting/transport/socket/ServerThread.java
Log:
JBREM-934: Put Class.getClassLoader() calls in AccessController.doPrivileged() calls.

Modified: remoting2/branches/2.x/src/main/org/jboss/remoting/transport/socket/ServerThread.java
===================================================================
--- remoting2/branches/2.x/src/main/org/jboss/remoting/transport/socket/ServerThread.java	2008-04-02 04:29:01 UTC (rev 3856)
+++ remoting2/branches/2.x/src/main/org/jboss/remoting/transport/socket/ServerThread.java	2008-04-02 04:29:51 UTC (rev 3857)
@@ -50,6 +50,8 @@
 import java.net.SocketAddress;
 import java.net.SocketException;
 import java.net.SocketTimeoutException;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.Map;
@@ -641,7 +643,15 @@
                                   int version)
    throws Exception
    {  
-      Object obj = versionedRead(inputStream, invoker, getClass().getClassLoader(), version);
+      ClassLoader classLoader = (ClassLoader) AccessController.doPrivileged( new PrivilegedAction()
+      {
+         public Object run()
+         {
+            return ServerThread.class.getClassLoader();
+         }
+      });
+      
+      Object obj = versionedRead(inputStream, invoker, classLoader, version);
 
       // setting timestamp since about to start processing
       lastRequestHandledTimestamp = System.currentTimeMillis();
@@ -713,7 +723,7 @@
          if (isOneway(req))
             resp = null;
          
-         versionedWrite(outputStream, invoker, this.getClass().getClassLoader(), resp, version);
+         versionedWrite(outputStream, invoker, classLoader, resp, version);
       }
 
       // set the timestamp for last successful processed request
@@ -893,7 +903,15 @@
    private void processNewSocket()
    {
       InvokerLocator locator = invoker.getLocator();
-      ClassLoader classLoader = getClass().getClassLoader();
+      
+      ClassLoader classLoader = (ClassLoader) AccessController.doPrivileged( new PrivilegedAction()
+      {
+         public Object run()
+         {
+            return ServerThread.class.getClassLoader();
+         }
+      });
+      
       String dataType = invoker.getDataType();
       String serializationType = invoker.getSerializationType();
 




More information about the jboss-remoting-commits mailing list