You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Mark Hindess (JIRA)" <ji...@apache.org> on 2010/09/10 01:05:32 UTC

[jira] Commented: (HARMONY-6644) [classlib][archive] ZipFile(File) does not close the stream if ZipException occurs

    [ https://issues.apache.org/jira/browse/HARMONY-6644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12907816#action_12907816 ] 

Mark Hindess commented on HARMONY-6644:
---------------------------------------

I tried the v2 patch and the regression test fails without the fix for me on linux.  I notice you have tagged this jira as windows xp but if it only fails on that platform then maybe the platform independent java code isn't the right place for the fix?


> [classlib][archive] ZipFile(File) does not close the stream if ZipException occurs
> ----------------------------------------------------------------------------------
>
>                 Key: HARMONY-6644
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6644
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>    Affects Versions: 5.0M14
>         Environment: Windows XP
>            Reporter: Xiao Shu
>         Attachments: JIRA-6644-v2.diff, JIRA-6644.diff
>
>
> run below test case, the observed output is "false" while the expected output is "true".
> The cause is if ZipException occurs, the mRaf field is not closed.
> Thus file stream and system resources associated with the stream are not released.
> Thus failed to delete the file on Windows platform.
> import java.io.File;
> import java.io.IOException;
> import java.util.zip.*;
> import tests.support.Support_PlatformFile;
> public class ZipFileBug {
>     public static void main (String [] args) throws IOException {
>         ZipFile zip;
>         String emptyFileName = System.getProperty("user.dir");        
>         if (emptyFileName.charAt(emptyFileName.length() - 1) == File.separatorChar) {
>             emptyFileName = Support_PlatformFile.getNewPlatformFile(
>                     emptyFileName, "empty.zip");
>         } else {
>             emptyFileName = Support_PlatformFile.getNewPlatformFile(
>                     emptyFileName + File.separatorChar, "empty.zip");
>         }        
>         File emptyFile = new File(emptyFileName);
>         emptyFile.createNewFile();
>         try {
>             zip = new ZipFile(emptyFile, ZipFile.OPEN_READ);            
>         } catch (ZipException ze) {            
>         }
>         System.out.println(emptyFile.delete());        
>     }
> }

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