[
https://issues.apache.org/jira/browse/OAK-8218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marcel Reutegger resolved OAK-8218.
-----------------------------------
Resolution: Fixed
Fix Version/s: 1.14.0
Applied patch to trunk: http://svn.apache.org/r1857304
> ReadOnlyNodeTypeManager.isNodeType prone to NPE
> -----------------------------------------------
>
> Key: OAK-8218
> URL: https://issues.apache.org/jira/browse/OAK-8218
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: authorization-cug, core, jcr, search, upgrade
> Reporter: angela
> Assignee: Marcel Reutegger
> Priority: Minor
> Fix For: 1.14.0
>
> Attachments: OAK-8218-2.patch, OAK-8218-IndexDefinition.patch,
> OAK-8218.patch
>
>
> in the light of OAK-8216 and OAK-8212 i spotted a potential NPE in all
> variants of {{ReadOnlyNodeTypeManager.isNodeType}}: these methods pass the
> value of {{getTypes()}}, which might return {{null}}, to {{isa(Tree types,
> String typeName, String superName)}}, which does not check for the {{types}}
> parameter to be {{null}}.
> i checked most extensions of {{ReadOnlyNodeTypeManager}} and non of them ever
> returns {{null}} because the usually just retrieve the tree at the node-types
> paths, which may or may not exist but {{Root.getTree}} never returns {{null}}
> (maybe it did in the early days of oak). anyway, this leaves me with the
> feeling that the 'nullable' annotation with
> {{ReadOnlyNodeTypeManager.isNodeType}} is wrong with and should be 'notnull'
> instead. this would allow to annotate {{isa(Tree types, String typeName,
> String superName)}}
> with notnull and avoid the extra check for null.... but at the end i would
> also be find with just adding a check for null in the {{isa}} method and mark
> the types param as nullable.
> [~reschke], [~mreutegg], since you have been touching the
> {{ReadOnlyNodeTypeManager}} in the past, do you have any preference?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)