diff --git a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/util/Tar.java b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/util/Tar.java index d7a5eec505..d64d03e50a 100644 --- a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/util/Tar.java +++ b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/util/Tar.java @@ -42,6 +42,9 @@ public class Tar { /* Closes target */ try (OutputStream bzip2 = new BZip2CompressorOutputStream(target)) { tarTo(fileOrDir, bzip2); + } catch (IOException e) { + tmp.delete(); + throw e; } if (sizePtr != null) { sizePtr[0] = tmp.length(); @@ -69,6 +72,9 @@ public class Tar { try (FileOutputStream target = new FileOutputStream(tmp)) { tarTo(fileOrDir, target); return new DeletingFileInputStream(tmp); + } catch (IOException e) { + tmp.delete(); + throw e; } }