angela created OAK-8212: --------------------------- Summary: ImporterImpl.importProperties prone to NPE Key: OAK-8212 URL: https://issues.apache.org/jira/browse/OAK-8212 Project: Jackrabbit Oak Issue Type: Bug Components: jcr Reporter: angela
the {{ImportImpl}} code at line 275 is prone to NPE because {{EffectiveNodeType.getPropertyDefinition(String, int, boolean) may return {{null}} (in contrast to the second variant that throws {{ConstraintViolationException}} if no matching definition is found. the code looks as follows: {code} EffectiveNodeType ent = effectiveNodeTypeProvider.getEffectiveNodeType(tree); PropertyDefinition def = ent.getPropertyDefinition(pi.getName(), pi.getType(), pi.isUnknownMultiple()); if (def.isProtected()) { ... } {code} proposed fix (adding a check for null): EffectiveNodeType ent = effectiveNodeTypeProvider.getEffectiveNodeType(tree); PropertyDefinition def = ent.getPropertyDefinition(pi.getName(), pi.getType(), pi.isUnknownMultiple()); if (def == null) { throw new ConstraintViolationException("No matching property definition found for " + pi.getName()); } if (def.isProtected()) { ... } {code} i spotted the issue while writing an import test for OAK-8190 with property type mismatch. -- This message was sent by Atlassian JIRA (v7.6.3#76005)