jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Reutegger (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (OAK-8218) ReadOnlyNodeTypeManager.isNodeType prone to NPE
Date Thu, 11 Apr 2019 09:38:00 GMT

     [ https://issues.apache.org/jira/browse/OAK-8218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Marcel Reutegger updated OAK-8218:
----------------------------------
       Priority: Minor  (was: Major)
    Component/s: upgrade
                 search
                 jcr
                 authorization-cug

> 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
>         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)

Mime
View raw message