You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Anton Ivanov (JIRA)" <ji...@apache.org> on 2006/12/04 15:16:22 UTC

[jira] Updated: (HARMONY-2436) Reading from a closed Jar file is allowed

     [ http://issues.apache.org/jira/browse/HARMONY-2436?page=all ]

Anton Ivanov updated HARMONY-2436:
----------------------------------

    Attachment: hello_world.jar

To run the code above to reproduce this issue put hello_world.jar from the attachment to the current directory.

> Reading from a closed Jar file is allowed
> -----------------------------------------
>
>                 Key: HARMONY-2436
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2436
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Anton Ivanov
>            Priority: Minor
>         Attachments: hello_world.jar
>
>
> Reading from InputStream which was opened on some JarFile
> is allowed even if this JarFile was closed .
> java.util.jar.JarFile inherits close() method from java.util.zip.ZipFile and
> specification of this method ensure that if JarFile is closed all InputStreams that were obtained 
> via getInputStream() method will be closed. But JarFile behaves in a different manner.
> Code to reproduce this problem:
> import java.util.jar.*;
> import java.io.*;
> public class TestJarFileClose{
>     public static void main(String[] args) {
>         byte[] b = new byte[1024];
>         try {
>             JarFile jf = new JarFile("hello_world.jar");
>             InputStream is = jf.getInputStream(jf.getEntry("hello_world/HelloWorld.class"));
>             jf.close();
>             int r = is.read(b, 0, 1024);
>             System.out.println("Test failed, readed from closed JAR file: "+r);
>             is.close();
>         } catch (Exception e) {
>             System.out.println("Test passed: "+e);    
>         } 
>     }
> }
> Output on RI:  
> Test passed: java.lang.IllegalStateException: zip file closed
> Output on Harmony: 
> Test failed, readed from closed JAR file: 427 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira