[ https://issues.apache.org/jira/browse/FELIX-953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12676306#action_12676306 ]
Richard S. Hall commented on FELIX-953: --------------------------------------- Snapshots deployed. Thanks. > Bundle#loadClass sometimes return null instead of throwing a CNFE > ----------------------------------------------------------------- > > Key: FELIX-953 > URL: https://issues.apache.org/jira/browse/FELIX-953 > Project: Felix > Issue Type: Bug > Components: Framework > Reporter: Guillaume Nodet > Assignee: Richard S. Hall > Priority: Blocker > Fix For: felix-1.6.0 > > Attachments: FELIX-953.patch > > > Here is a patch: > {code} > Index: src/main/java/org/apache/felix/framework/Felix.java > =================================================================== > --- src/main/java/org/apache/felix/framework/Felix.java (revision 746347) > +++ src/main/java/org/apache/felix/framework/Felix.java (working copy) > @@ -1338,7 +1338,12 @@ > throw new ClassNotFoundException(name, ex); > } > } > - return bundle.getCurrentModule().getClassByDelegation(name); > + Class clazz = bundle.getCurrentModule().getClassByDelegation(name); > + if (clazz == null) > + { > + throw new ClassNotFoundException(name); > + } > + return clazz; > } > > /** > {code} > I'm wondering if there any reason why ModuleImpl#getClassByDelegation(String) > returns null instead of throwing a NPE. > Browsing through the code, it seems there are several places where a null > value is checked, then a CNFE thrown. > This would also avoid possible NPE in felix code as in > Felix#createBundleActivator. > I think it would be nice to iron the definition of > IModule#getClassByDelegation to either remove the thrown CNFE or never > returns null, as currently both can happen. > The IWire interface has exactly the same problem. > I will try to come up with a patch which will never return a null value for > both interfaces. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.