From cd3352b625b40e18a95bb5db35de31b8951e4d82 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 1 Jun 2005 19:58:25 +0000 Subject: re PR libgcj/21785 (ClassNotFound during deserialization) PR libgcj/21785: * java/io/natObjectInputStream.cc (currentClassLoader): Removed. (currentLoader): New method. * java/io/ObjectInputStream.java (resolveProxyClass): Use currentLoader. (currentLoader): Now native. (currentClassLoader): Removed. * testsuite/libjava.lang/pr21785.java: New file. * testsuite/libjava.lang/pr21785.out: New file. From-SVN: r100462 --- libjava/java/io/natObjectInputStream.cc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'libjava/java/io/natObjectInputStream.cc') diff --git a/libjava/java/io/natObjectInputStream.cc b/libjava/java/io/natObjectInputStream.cc index 0e0d5a7..2d1a556 100644 --- a/libjava/java/io/natObjectInputStream.cc +++ b/libjava/java/io/natObjectInputStream.cc @@ -1,6 +1,6 @@ // natObjectInputStream.cc - Native part of ObjectInputStream class. -/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation +/* Copyright (C) 1998, 1999, 2000, 2001, 2005 Free Software Foundation This ObjectInputStream is part of libgcj. @@ -24,6 +24,7 @@ details. */ #include #include #include +#include #ifdef DEBUG #include @@ -69,9 +70,11 @@ java::io::ObjectInputStream::allocateObject (jclass klass, jclass, return obj; } -java::lang::ClassLoader* -java::io::ObjectInputStream::currentClassLoader (::java::lang::SecurityManager *sm) +java::lang::ClassLoader * +java::io::ObjectInputStream::currentLoader () { - return sm->currentClassLoader (); + jclass caller = _Jv_StackTrace::GetCallingClass (&ObjectInputStream::class$); + if (caller) + return caller->getClassLoaderInternal(); + return NULL; } - -- cgit v1.1