Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.3.16.1
-
None
-
Patch
Description
com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.callMethod is not thread safe because of unsynchronized reads and writes to HashMap:
private static Map invalidMethods = new HashMap(); ... public Object callMethod(Map context, Object target, String name, Object[] objects) throws MethodFailedException { ... if ((argTypes == null) || !invalidMethods.containsKey(mc)) { ... invalidMethods.put(mc, Boolean.TRUE); ... } ... }
Propose to use ConcurrentHashMap