You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Sebb (JIRA)" <ji...@apache.org> on 2008/04/08 12:31:24 UTC

[jira] Commented: (NET-213) Unsafe code in FromNetASCIIInputStream.java

    [ https://issues.apache.org/jira/browse/NET-213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12586744#action_12586744 ] 

Sebb commented on NET-213:
--------------------------

Just noticed another problem: the contructor uses the length of the field _lineSeparatorBytes *before* assigning to it.

I think it's highly unlikely that the line separator value will ever require different bytes in different encodings.
However, if it does, then using a static field is not the correct way to communicate the value to the FromNetASCIIOutputStream class.

> Unsafe code in FromNetASCIIInputStream.java
> -------------------------------------------
>
>                 Key: NET-213
>                 URL: https://issues.apache.org/jira/browse/NET-213
>             Project: Commons Net
>          Issue Type: Bug
>            Reporter: Sebb
>             Fix For: 1.5, 2.0
>
>
> The constructors in FromNetASCIIInputStream.java assign a value to a static field:
> _lineSeparatorBytes = _lineSeparator.getBytes(encoding);
> This is not thread-safe, indeed it is thread-hostile if the value can ever be different for different encodings.
> (Two different instances wanting to use two different values of the same static field)
> The field should be initialised in the static initialiser (and should probably be made final as a hint not to change it - though this won't stop the contents being changed).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.