Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEsteban Dugueperoux2013-11-21 11:32:50 +0000
committerEike Stepper2013-12-18 13:07:01 +0000
commitdfe19864de718b188cd64fe95479798208a76b04 (patch)
treee5a6852aaf5c265af851c92703e8ac432435342d /plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo
parent6b1d752ed98e233b9a6e94691699ee25cc60bf91 (diff)
downloadcdo-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.java6
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());

Back to the top