diff --git a/core/src/main/java/hudson/FilePath.java b/core/src/main/java/hudson/FilePath.java index a81ea7772a..943d7eb7d8 100644 --- a/core/src/main/java/hudson/FilePath.java +++ b/core/src/main/java/hudson/FilePath.java @@ -1664,11 +1664,11 @@ public final class FilePath implements Serializable { return act(new FileCallable() { private static final long serialVersionUID = 1L; public String invoke(File f, VirtualChannel channel) throws IOException { - BufferedInputStream source = new BufferedInputStream(new FileInputStream(f)); + FileInputStream is = new FileInputStream(f); try { - return Util.getDigestOf(source); + return Util.getDigestOf(new BufferedInputStream(is)); } finally { - source.close(); + is.close(); } } }); diff --git a/core/src/main/java/hudson/Util.java b/core/src/main/java/hudson/Util.java index 47ad0bc665..818a26d767 100644 --- a/core/src/main/java/hudson/Util.java +++ b/core/src/main/java/hudson/Util.java @@ -554,7 +554,11 @@ public class Util { * @see DigestUtils#md5(InputStream) */ public static String getDigestOf(InputStream source) throws IOException { - return DigestUtils.md5Hex(source); + try { + return DigestUtils.md5Hex(source); + } finally { + source.close(); + } } public static String getDigestOf(String text) {