Mercurial > hg > release > icedtea6-1.6
view patches/security/20100330/6893947.patch @ 1723:d48a4f542e7d
Add new security patches and fix srcdir!=builddir issues.
2009-03-30 Andrew John Hughes <ahughes@redhat.com>
* patches/icedtea-systemtap.patch:
Moved to HotSpot-specific patch tree.
* Makefile.am: Add new security patches
and add $(HSBUILD) to systemtap patch.
Put copied OpenJDK files in openjdk-copy
rather than a duplicate rt directory
in the build tree.
* NEWS: List new security patches.
* patches/hotspot/default/systemtap.patch:
From patches/icedtea-systemtap.patch.
* patches/hotspot/original/icedtea-format.patch,
* patches/hotspot/original/systemtap.patch:
Added for original HotSpot build.
* patches/security/20100330/6626217.patch,
* patches/security/20100330/6633872.patch,
* patches/security/20100330/6639665.patch,
* patches/security/20100330/6736390.patch,
* patches/security/20100330/6745393.patch,
* patches/security/20100330/6887703.patch,
* patches/security/20100330/6888149.patch,
* patches/security/20100330/6892265.patch,
* patches/security/20100330/6893947.patch,
* patches/security/20100330/6893954.patch,
* patches/security/20100330/6898622.patch,
* patches/security/20100330/6898739.patch,
* patches/security/20100330/6899653.patch,
* patches/security/20100330/6902299.patch,
* patches/security/20100330/6904691.patch,
* patches/security/20100330/6909597.patch,
* patches/security/20100330/6910590.patch,
* patches/security/20100330/6914823.patch,
* patches/security/20100330/6914866.patch,
* patches/security/20100330/6932480.patch,
* patches/security/20100330/hotspot/default/6894807.patch,
* patches/security/20100330/hotspot/original/6894807.patch:
New security and hardening patches
http://www.oracle.com/technology/deploy/security/critical-patch-updates/javacpumar2010.html
author | Andrew John Hughes <ahughes@redhat.com> |
---|---|
date | Tue, 30 Mar 2010 23:04:54 +0100 |
parents | |
children |
line wrap: on
line source
--- openjdk.orig/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java Mon Nov 30 08:24:30 2009 +++ openjdk/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java Mon Nov 30 08:24:30 2009 @@ -1264,6 +1264,7 @@ * * @return a String representation of this object. **/ + @Override public String toString() { return super.toString() + ": connectionId=" + connectionId; } @@ -1517,6 +1518,21 @@ } } + private static class SetCcl implements PrivilegedExceptionAction<ClassLoader> { + private final ClassLoader classLoader; + + SetCcl(ClassLoader classLoader) { + this.classLoader = classLoader; + } + + public ClassLoader run() { + Thread currentThread = Thread.currentThread(); + ClassLoader old = currentThread.getContextClassLoader(); + currentThread.setContextClassLoader(classLoader); + return old; + } + } + private static <T> T unwrap(final MarshalledObject mo, final ClassLoader cl, final Class<T> wrappedClass) @@ -1525,22 +1541,14 @@ return null; } try { - return AccessController.doPrivileged( - new PrivilegedExceptionAction<T>() { - public T run() - throws IOException { - final ClassLoader old = - Thread.currentThread().getContextClassLoader(); - Thread.currentThread().setContextClassLoader(cl); - try { - return wrappedClass.cast(mo.get()); - } catch (ClassNotFoundException cnfe) { - throw new UnmarshalException(cnfe.toString(), cnfe); - } finally { - Thread.currentThread().setContextClassLoader(old); - } - } - }); + final ClassLoader old = AccessController.doPrivileged(new SetCcl(cl)); + try { + return wrappedClass.cast(mo.get()); + } catch (ClassNotFoundException cnfe) { + throw new UnmarshalException(cnfe.toString(), cnfe); + } finally { + AccessController.doPrivileged(new SetCcl(old)); + } } catch (PrivilegedActionException pe) { Exception e = extractException(pe); if (e instanceof IOException) { @@ -1564,14 +1572,14 @@ return null; } try { - return AccessController.doPrivileged( - new PrivilegedExceptionAction<T>() { - public T run() - throws IOException { - return unwrap(mo, new OrderClassLoaders(cl1, cl2), - wrappedClass); - } - }); + ClassLoader orderCL = AccessController.doPrivileged( + new PrivilegedExceptionAction<ClassLoader>() { + public ClassLoader run() throws Exception { + return new OrderClassLoaders(cl1, cl2); + } + } + ); + return unwrap(mo, orderCL, wrappedClass); } catch (PrivilegedActionException pe) { Exception e = extractException(pe); if (e instanceof IOException) {