billbarker    2002/10/11 23:01:28

  Modified:    src/facade22/org/apache/tomcat/facade
                        Servlet22Interceptor.java
  Log:
  Don't set TCCL if called from Servlet code.
  
  The previous patch could result in a SecurityException if this is called from the 
Servlet code with a sandbox.  The current check should be enough to avoid the SE, 
without requiring a ProtectedAction.
  
  Revision  Changes    Path
  1.21      +6 -2      
jakarta-tomcat/src/facade22/org/apache/tomcat/facade/Servlet22Interceptor.java
  
  Index: Servlet22Interceptor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat/src/facade22/org/apache/tomcat/facade/Servlet22Interceptor.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- Servlet22Interceptor.java 12 Oct 2002 05:34:53 -0000      1.20
  +++ Servlet22Interceptor.java 12 Oct 2002 06:01:28 -0000      1.21
  @@ -200,8 +200,12 @@
            Vector removed=null; // lazy 
            Enumeration e = sess.getAttributeNames();
            ClassLoader clSave = jdk11Compat.getContextClassLoader();
  -         jdk11Compat.setContextClassLoader(sess.getContext().
  -                                           getClassLoader());
  +         ClassLoader cxCL = sess.getContext().getClassLoader();
  +         if( clSave != cxCL ) {
  +             jdk11Compat.setContextClassLoader(cxCL);
  +         } else {
  +             clSave = null;
  +         }
            // announce all values with listener that we'll remove them
            while( e.hasMoreElements() )   {
                String key = (String) e.nextElement();
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to