Sebb created CODEC-232:
--------------------------

             Summary: URLCodec is neither immutable nor threadsafe
                 Key: CODEC-232
                 URL: https://issues.apache.org/jira/browse/CODEC-232
             Project: Commons Codec
          Issue Type: Bug
            Reporter: Sebb


URLCodec Javadoc says the class is immutable and threadsafe.

However it is not immutable, because of the fields:

protected static final BitSet WWW_FORM_URL;
protected String charset;

Nor is it threadsafe, because external code can change the charset field; 
changes to the field are not safely published across threads.

(The WWW_FORM_URL field is no longer used internally).

The class could be made effectively immutable (and threadsafe) by also saving 
the initial charset name in a private final field and only using the private 
field.

Or the charset field could be made volatile.
This would preserve the behaviour for subclasses that rely on changing the 
charset field.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to