From 7b1ef8f33a7381056c04667aacb0445f2f0dd009 Mon Sep 17 00:00:00 2001 From: Scruel Tao Date: Wed, 20 Mar 2019 11:13:55 +0800 Subject: [PATCH] [ISSUE #1086] Fix NullPointerException in PlainPermissionLoader if permissions are not configured(with admin user) --- .../apache/rocketmq/acl/plain/PlainPermissionLoader.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionLoader.java b/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionLoader.java index 9148422f..e97825dd 100644 --- a/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionLoader.java +++ b/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionLoader.java @@ -123,12 +123,17 @@ public class PlainPermissionLoader { return; } + if (ownedPermMap == null && ownedAccess.isAdmin()) { + // If the ownedPermMap is null and it is an admin user, then return + return; + } + for (Map.Entry needCheckedEntry : needCheckedPermMap.entrySet()) { String resource = needCheckedEntry.getKey(); Byte neededPerm = needCheckedEntry.getValue(); boolean isGroup = PlainAccessResource.isRetryTopic(resource); - if (!ownedPermMap.containsKey(resource)) { + if (ownedPermMap == null || !ownedPermMap.containsKey(resource)) { // Check the default perm byte ownedPerm = isGroup ? ownedAccess.getDefaultGroupPerm() : ownedAccess.getDefaultTopicPerm(); -- GitLab