[ 
https://issues.apache.org/jira/browse/COMPRESS-157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13106082#comment-13106082
 ] 

Sebb commented on COMPRESS-157:
-------------------------------

Are you sure the class is in Compress? I can only find 
BZip2CompressorInputStream which does not have the problem.

Commons VFS does have a file called CBZip2InputStream, and there is one 
instance of casting read() to a char:

{code}
619       while (bsLive < 1)
620       {
621           char ch = 0;
622           try
623           {
624               ch = (char) inputStream.read();
625           }
626           catch (IOException e)
627           {
628               compressedStreamEOF();
629           }
630
631           bsBuff = (bsBuff << 8) | (ch & 0xff);
632           bsLive += 8;
633       }
{code}

That does look wrong.

> Wrong EOF detection in CBZip2InputStream
> ----------------------------------------
>
>                 Key: COMPRESS-157
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-157
>             Project: Commons Compress
>          Issue Type: Bug
>            Reporter: Jan
>            Priority: Minor
>
> The following snippet form CBZip2InputStream does a wrong EOF check. The char 
> 'thech' will never be equal to the integer '-1'. You have to check for 
> #read() returning -1 before casting to char. 
> I found the bug in 
> http://svn.wikimedia.org/svnroot/mediawiki/trunk/mwdumper/src/org/apache/commons/compress/bzip2/
>  not in your TRUNK.
> {noformat}
>                             int zzi;
>                             char thech = 0;
>                             try
>                             {
>                                 thech = (char)m_input.read();
>                             }
>                             catch( IOException e )
>                             {
>                                 compressedStreamEOF();
>                             }
>                             if( thech == -1 ) //HERE
>                             {
>                                 compressedStreamEOF();
>                             }
> {noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to