[Kaffe] yet another invocation bug found!
Moses DeJong
dejong at cs.umn.edu
Thu Feb 4 15:31:56 PST 1999
Hello all.
I seem to have found another problem with the invocation system.
It looks like package access is not getting checked on dynamic
method invocations. Here is a small example that shows the problem.
// File NonMember.java
import java.lang.reflect.*;
import testpkg.PkgMember;
public class NonMember {
public static void main(String[] argv) throws Exception {
PkgMember mem = new PkgMember();
Method foo = PkgMember.class.getDeclaredMethod("foo", null);
System.out.println("foo is " + foo);
// This should raise an IllegalAccessException
foo.invoke(mem,null);
System.out.println("Error!");
}
}
// File testpkg/PkgMember.java
package testpkg;
import java.util.*;
public class PkgMember {
// This constructor is public
public PkgMember() {}
// This method has package access
void foo() {}
}
JDK output
% java NonMember
foo is void testpkg.PkgMember.foo()
java.lang.IllegalAccessException: testpkg/PkgMember
at NonMember.main(Compiled Code)
Kaffe output
% kaffe NonMember
foo is void testpkg.PkgMember.foo()
Error!
I hope that helps
Mo DeJong
dejong at cs.umn.edu
More information about the kaffe
mailing list