Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-8266

Redundant check for existing tree in CompiledPermissionImpl.buildVersionDelegatee

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 1.14.0
    • core, security
    • None

    Description

      stillalex, i found that the check for existence of the passed tree in CompiledPermissionImpl.buildVersionDelegatee is redundant, due to the while loop just before calling the method. line 204ff:

                              while (!versionableTree.exists()) {
                                  versionableTree = versionableTree.getParent();
                              }
                              return new VersionTreePermission(tree, buildVersionDelegatee(versionableTree), providerCtx.getTreeProvider());
      

      and subsequently:

      private TreePermission buildVersionDelegatee(@NotNull Tree versionableTree) {
              if (!versionableTree.exists()) {
                  return TreePermission.EMPTY;
              } else if (versionableTree.isRoot()) {
                  return createRootPermission(versionableTree);
              } 
              [...]
      }
      

      due to the loop the method buildVersionDelegatee either gets an existing tree or the root tree. IMO we should remove that extra if (see attached patch). wdyt?

      Attachments

        1. OAK-8266.patch
          0.9 kB
          Angela Schreiber

        Activity

          People

            angela Angela Schreiber
            angela Angela Schreiber
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: