Author: antoine Date: Sun Feb 11 19:19:51 2007 New Revision: 506248 URL: http://svn.apache.org/viewvc?view=rev&rev=506248 Log: closing streams properly in putMethod(String path, File file)
Modified: jakarta/slide/trunk/WHATSNEW jakarta/slide/trunk/contributors.xml jakarta/slide/trunk/webdavclient/clientlib/src/java/org/apache/webdav/lib/WebdavResource.java Modified: jakarta/slide/trunk/WHATSNEW URL: http://svn.apache.org/viewvc/jakarta/slide/trunk/WHATSNEW?view=diff&rev=506248&r1=506247&r2=506248 ============================================================================== --- jakarta/slide/trunk/WHATSNEW (original) +++ jakarta/slide/trunk/WHATSNEW Sun Feb 11 19:19:51 2007 @@ -13,7 +13,9 @@ Bugzilla 40835. * Potentially unclosed InputStream and FileOutputStream in WebdavResource.getMethod(String path, File file) - Bugzilla 41574. + Bugzilla 41574. + +* Potentially unclosed FileInputStream in WebdavResource.putMethod(String path, File file) Other changes: -------------- Modified: jakarta/slide/trunk/contributors.xml URL: http://svn.apache.org/viewvc/jakarta/slide/trunk/contributors.xml?view=diff&rev=506248&r1=506247&r2=506248 ============================================================================== --- jakarta/slide/trunk/contributors.xml (original) +++ jakarta/slide/trunk/contributors.xml Sun Feb 11 19:19:51 2007 @@ -18,5 +18,9 @@ <first>Eric</first> <last>Van</last> </name> + <name> + <first>Michael</first> + <last>Christoff</last> + </name> </contributors> Modified: jakarta/slide/trunk/webdavclient/clientlib/src/java/org/apache/webdav/lib/WebdavResource.java URL: http://svn.apache.org/viewvc/jakarta/slide/trunk/webdavclient/clientlib/src/java/org/apache/webdav/lib/WebdavResource.java?view=diff&rev=506248&r1=506247&r2=506248 ============================================================================== --- jakarta/slide/trunk/webdavclient/clientlib/src/java/org/apache/webdav/lib/WebdavResource.java (original) +++ jakarta/slide/trunk/webdavclient/clientlib/src/java/org/apache/webdav/lib/WebdavResource.java Sun Feb 11 19:19:51 2007 @@ -2820,25 +2820,30 @@ public boolean putMethod(String path, File file) throws HttpException, IOException { - setClient(); - PutMethod method = new PutMethod(URIUtil.encodePathQuery(path)); - generateIfHeader(method); - if (getGetContentType() != null && !getGetContentType().equals("")) - method.setRequestHeader("Content-Type", getGetContentType()); - long fileLength = file.length(); - method.setRequestContentLength(fileLength <= Integer.MAX_VALUE - ? (int) fileLength - : PutMethod.CONTENT_LENGTH_CHUNKED); - FileInputStream fis = new FileInputStream(file); - method.setRequestBody(fis); - generateTransactionHeader(method); - generateAdditionalHeaders(method); - int statusCode = client.executeMethod(method); + FileInputStream fis = null; + try { + setClient(); + PutMethod method = new PutMethod(URIUtil.encodePathQuery(path)); + generateIfHeader(method); + if (getGetContentType() != null && !getGetContentType().equals("")) + method.setRequestHeader("Content-Type", getGetContentType()); + long fileLength = file.length(); + method.setRequestContentLength(fileLength <= Integer.MAX_VALUE + ? (int) fileLength + : PutMethod.CONTENT_LENGTH_CHUNKED); + fis = new FileInputStream(file); + method.setRequestBody(fis); + generateTransactionHeader(method); + int statusCode = client.executeMethod(method); - setStatusCode(statusCode); + setStatusCode(statusCode); + return (statusCode >= 200 && statusCode < 300) ? true : false; + + } finally { + if(fis != null) + fis.close(); + } - fis.close(); // <--- simple update to code - return (statusCode >= 200 && statusCode < 300) ? true : false; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]