ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 52742] New: An incomplete fix for the resource leak bug in Replace.java
Date Thu, 23 Feb 2012 07:45:37 GMT
https://issues.apache.org/bugzilla/show_bug.cgi?id=52742

             Bug #: 52742
           Summary: An incomplete fix for the resource leak bug in
                    Replace.java
           Product: Ant
           Version: unspecified
          Platform: PC
            Status: NEW
          Severity: critical
          Priority: P2
         Component: Core
        AssignedTo: notifications@ant.apache.org
        ReportedBy: lianggt08@sei.pku.edu.cn
    Classification: Unclassified


The fix revision 269961 was aimed to remove resource leak bugs on the
InputStreamReader object "reader" (created in line 314), the OutputStreamWriter
object (line 316) in the method "processFile"of the file
"/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Replace.java" , but 
it is incomplete.

There are some problems: 
1. when "reader" isn't created successfully but the temp FileInputStream object
is created successfully (at line 315), the temp FileInputStream object will be
leaked. 
2. when "writer" isn't created successfully but the temp FileOutputStream
object is created successfully (at line 316), the temp FileOutputStream object
will be leaked. 
3. when the statements at lines 327-367 throw some exception, "bw" will be
leaked;
4. when the statements at lines 327-367 throw some exception, "br" will be
leaked;

The best way to close such resource objects is putting such close operations
for all resource objects in the finaly block of a try-catch-finally structure
and then putting all other code in a try block.

The problem still exists in the head revision.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

Mime
View raw message