<Beans Dev> [9] Review Request: 8146313 The java.beans.Statement.invoke() method handles 3-arg Class.forName incorrectly
Semyon Sadetsky
semyon.sadetsky at oracle.com
Mon Apr 25 18:44:23 UTC 2016
Hi Sergey,
Could you add primitive class case to the test?
--Semyon
On 4/22/2016 7:20 PM, Sergey Bylokhov wrote:
> Hello.
> Please review the fix for jdk9(the fix was discussed offline already).
>
> The Statement class can execute the methods and pass some parameters
> for them. It can be used to store the statement(method call+parameter)
> in xml and load it when necessary. This class has special case for
> Class.forName() because it provides some additional features(for
> example it uses a different class loaders and supports primitive
> types). But it does not take into account that there is the second
> 3-args forName() method. It was fixed in the change.
>
> 3-args forName() method is considered as a usual method which will be
> executed for provided class+classloadder. The additional check for
> package access is added. Note that I added a code to always clone the
> list of arguments just as an additional safeness for the future changes.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8146313
> Webrev can be found at:
> http://cr.openjdk.java.net/~serb/8146313/webrev.03
>
More information about the beans-dev
mailing list