diff --git a/source/java/org/alfresco/repo/web/scripts/transfer/ReportCommandProcessor.java b/source/java/org/alfresco/repo/web/scripts/transfer/ReportCommandProcessor.java index 5cf23fe966..deffe0d412 100644 --- a/source/java/org/alfresco/repo/web/scripts/transfer/ReportCommandProcessor.java +++ b/source/java/org/alfresco/repo/web/scripts/transfer/ReportCommandProcessor.java @@ -72,19 +72,32 @@ public class ReportCommandProcessor implements CommandProcessor try { OutputStream out = resp.getOutputStream(); - resp.setContentType("text/xml"); - resp.setContentEncoding("utf-8"); - - BufferedInputStream br = new BufferedInputStream(receiver.getProgressMonitor().getLogInputStream(transferId)); - byte[] buffer = new byte[1000]; - int i = br.read(buffer); - while(i > 0) + try { - out.write(buffer, 0, i); - i = br.read(buffer); + resp.setContentType("text/xml"); + resp.setContentEncoding("utf-8"); + + BufferedInputStream br = new BufferedInputStream(receiver.getProgressMonitor().getLogInputStream(transferId)); + try + { + byte[] buffer = new byte[1000]; + int i = br.read(buffer); + while(i > 0) + { + out.write(buffer, 0, i); + i = br.read(buffer); + } + } + finally + { + br.close(); + } + } + finally + { + out.flush(); + out.close(); } - out.flush(); - out.close(); return Status.STATUS_OK; }