-
Bug
-
Resolution: Fixed
-
P2
-
8, 9
-
b133
-
Verified
There two parts to this bug.
PART 1:
The following “compute” and "merge" methods expects wrong permission which is removeProviderProperty{name} against what spec states (removeProviderProperty.{name}),
• Provider# compute(Object key, BiFunction remappingFunction)
• Provider#computeIfAbsent(Object key, Function mappingFunction)
• Provider#computeIfPresent(Object key, BiFunction remappingFunction)
• Provider#merge((Object key, Object value, BiFunction remappingFunction) -- SeeJDK-8156052
PART 2:
Besides the above problem, I have also noticed peculiar problem specifically originating from the following compute method,
• Provider# compute(Object key, BiFunction remappingFunction)
The issue here is even when I provide the wrong permission (for testing purpose to just pass it and checking any other problems besides security exception) ,this method is internally casting the BiFunction to Function and breaking with ClassCastException.
Please find the attached ready-to-run test case .
PART 1:
The following “compute” and "merge" methods expects wrong permission which is removeProviderProperty{name} against what spec states (removeProviderProperty.{name}),
• Provider# compute(Object key, BiFunction remappingFunction)
• Provider#computeIfAbsent(Object key, Function mappingFunction)
• Provider#computeIfPresent(Object key, BiFunction remappingFunction)
• Provider#merge((Object key, Object value, BiFunction remappingFunction) -- See
PART 2:
Besides the above problem, I have also noticed peculiar problem specifically originating from the following compute method,
• Provider# compute(Object key, BiFunction remappingFunction)
The issue here is even when I provide the wrong permission (for testing purpose to just pass it and checking any other problems besides security exception) ,this method is internally casting the BiFunction to Function and breaking with ClassCastException.
Please find the attached ready-to-run test case .
- duplicates
-
JDK-8156052 java.security.Provider#merge expects removeProviderProperty{name} permission but the spec states removeProviderProperty.{name}
-
- Closed
-