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