Browse Source

auth: remove index out of range in role grant

Fixes https://github.com/coreos/etcd/issues/5077
Hitoshi Mitake 9 years ago
parent
commit
a016220648
1 changed files with 1 additions and 1 deletions
  1. 1 1
      auth/store.go

+ 1 - 1
auth/store.go

@@ -279,7 +279,7 @@ func (as *authStore) RoleGrant(r *pb.AuthRoleGrantRequest) (*pb.AuthRoleGrantRes
 		return bytes.Compare(role.KeyPermission[i].Key, []byte(r.Perm.Key)) >= 0
 	})
 
-	if bytes.Equal(role.KeyPermission[idx].Key, r.Perm.Key) {
+	if idx < len(role.KeyPermission) && bytes.Equal(role.KeyPermission[idx].Key, r.Perm.Key) {
 		// update existing permission
 		role.KeyPermission[idx].PermType = r.Perm.PermType
 	} else {