You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2015/04/15 15:23:43 UTC
svn commit: r1673757 -
/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/SessionImpl.java
Author: angela
Date: Wed Apr 15 13:23:43 2015
New Revision: 1673757
URL: http://svn.apache.org/r1673757
Log:
OAK-2674 : Fix FindBug Issues (null deref in Session#hasCapability)
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/SessionImpl.java
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/SessionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/SessionImpl.java?rev=1673757&r1=1673756&r2=1673757&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/SessionImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/SessionImpl.java Wed Apr 15 13:23:43 2015
@@ -693,8 +693,12 @@ public class SessionImpl implements Jack
} else if ("remove".equals(methodName)) {
permission = Permissions.REMOVE_PROPERTY;
}
- Tree tree = dlg.getParent().getTree();
- return accessMgr.hasPermissions(tree, ((PropertyDelegate) dlg).getPropertyState(), permission);
+ NodeDelegate parentDelegate = dlg.getParent();
+ if (parentDelegate != null) {
+ return accessMgr.hasPermissions(parentDelegate.getTree(), ((PropertyDelegate) dlg).getPropertyState(), permission);
+ } else {
+ return accessMgr.hasPermissions(dlg.getPath(), (permission == Permissions.MODIFY_PROPERTY) ? Session.ACTION_SET_PROPERTY : Session.ACTION_REMOVE);
+ }
}
}
// TODO: add more best-effort checks