diff --git a/source/java/org/alfresco/repo/search/impl/querymodel/impl/db/DBResultSet.java b/source/java/org/alfresco/repo/search/impl/querymodel/impl/db/DBResultSet.java index 3b16a1b5c9..0599987fee 100644 --- a/source/java/org/alfresco/repo/search/impl/querymodel/impl/db/DBResultSet.java +++ b/source/java/org/alfresco/repo/search/impl/querymodel/impl/db/DBResultSet.java @@ -194,11 +194,11 @@ public class DBResultSet extends AbstractResultSet int bulkFetchSize = getBulkFetchSize(); if(bulkFetchSize < 1) { - nodeRefs[n] = tenantService.getBaseName(nodeDao.getNodePair(dbids.get(n)).getSecond()); + NodeRef nodeRef = nodeDao.getNodePair(dbids.get(n)).getSecond(); + nodeRefs[n] = nodeRef == null ? null : tenantService.getBaseName(nodeRef); return; } - List fetchList = new ArrayList(bulkFetchSize); BitSet done = new BitSet(bulkFetchSize); int totalHits = dbids.size(); @@ -227,7 +227,8 @@ public class DBResultSet extends AbstractResultSet nodeDao.cacheNodesById(fetchList); for (int i = done.nextSetBit(0); i >= 0; i = done.nextSetBit(i+1)) { - nodeRefs[n+i] = tenantService.getBaseName(nodeDao.getNodePair(fetchList.get(i)).getSecond()); + NodeRef nodeRef = nodeDao.getNodePair(fetchList.get(i)).getSecond(); + nodeRefs[n+1] = nodeRef == null ? null : tenantService.getBaseName(nodeRef); } } } diff --git a/source/java/org/alfresco/repo/security/permissions/impl/acegi/ACLEntryAfterInvocationProvider.java b/source/java/org/alfresco/repo/security/permissions/impl/acegi/ACLEntryAfterInvocationProvider.java index bc925e420b..6e855196a0 100644 --- a/source/java/org/alfresco/repo/security/permissions/impl/acegi/ACLEntryAfterInvocationProvider.java +++ b/source/java/org/alfresco/repo/security/permissions/impl/acegi/ACLEntryAfterInvocationProvider.java @@ -645,6 +645,11 @@ public class ACLEntryAfterInvocationProvider implements AfterInvocationProvider, filteringResultSet.setIncluded(i, true); NodeRef nodeRef = returnedObject.getNodeRef(i); + + if(filteringResultSet.getIncluded(i) && (nodeRef == null)) + { + filteringResultSet.setIncluded(i, false); + } if (filteringResultSet.getIncluded(i) && permissionService.hasReadPermission(nodeRef) == AccessStatus.DENIED) {