Re: Probable bug in Struts 7.0.0
Lukasz Lenart <[email protected]> Wed, 29 Jan 2025 18:00:21 +0100
| Newsgroups | gmane.comp.jakarta.struts.user |
|---|---|
| Message-ID | <CAMopvkM5zXp0SBd7xcrQaainVX56+uYk6cpwUutzTsnWZrEtHA@mail.gmail.com> |
wt., 28 sty 2025 o 10:39 Bibonne Fabrice <[email protected]> napisał(a): > First, thank you very much to all commiters for the new version of Struts 7.0.0 : it is a great improvement for many apps in my firm. > > I think, there is maybe a bug inside the SecurityMemberAccess : it appears when an ognl expression such as `(new com.mycompany.MyClass()).method()` > While processing security checks before the ognl runtime calls the constructor, the program executes the method `org.apache.struts2.ognl.SecurityMemberAccess#isAccessible` > Inside this method, we pass through < the case where target is a class object >. At the end of this block, the `target` becomes null (line 153). So the next test (`org.apache.struts2.ognl.SecurityMemberAccess#checkProxyObjectAccess`, line 160) > Is executed with target as null. But as `checkProxyObjectAccess ` calls ` ProxyUtil.isProxy(target)` with target as null, it raises a NullPointerException. > > Maybe ognl expression such as `(new com.mycompany.MyClass()).method()` is not a good practice, but would it be possible to fix this the NullPointerException ? I suggested that `checkProxyObjectAccess` should return true if it is called with null value You are right, this isn't a good practice yet throwing NPE is neither, feel free to register a bug :) Cheers Łukasz