diff options
author | Esteban Dugueperoux | 2013-11-21 11:32:50 +0000 |
---|---|---|
committer | Eike Stepper | 2013-12-18 13:07:01 +0000 |
commit | dfe19864de718b188cd64fe95479798208a76b04 (patch) | |
tree | e5a6852aaf5c265af851c92703e8ac432435342d /plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo | |
parent | 6b1d752ed98e233b9a6e94691699ee25cc60bf91 (diff) | |
download | cdo-dfe19864de718b188cd64fe95479798208a76b04.tar.gz cdo-dfe19864de718b188cd64fe95479798208a76b04.tar.xz cdo-dfe19864de718b188cd64fe95479798208a76b04.zip |
[422170] [Security] NPE on Permissions update for detached objects
https://bugs.eclipse.org/bugs/show_bug.cgi?id=422170
have LoadPermissionsRequest and LoadPermissionsIndication manage
case of
detached objects to avoid a NPE
Change-Id: I149ce4413d35c93017624f1744e31e23e44f6a09
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/LoadPermissionsIndication.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/LoadPermissionsIndication.java b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/LoadPermissionsIndication.java index 9235fd146e..8ef6881adc 100644 --- a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/LoadPermissionsIndication.java +++ b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/LoadPermissionsIndication.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Caspar De Groot - initial API and implementation */ @@ -73,6 +73,10 @@ public class LoadPermissionsIndication extends CDOServerReadIndication CDOPermission oldPermission = oldPermissions[i]; InternalCDORevision revision = revisionManager.getRevision(id, head, 0, CDORevision.DEPTH_NONE, true); + if (revision == null) + { + out.writeByte(CDOProtocolConstants.REVISION_DOES_NOT_EXIST); + } CDOPermission newPermission = permissionManager.getPermission(revision, head, session); out.writeByte(newPermission.getBits()); |