From 632ba113c6f21eeb104920bd3f6c919561663888 Mon Sep 17 00:00:00 2001 From: Benjamin Armintor Date: Thu, 2 Apr 2015 12:52:14 -0400 Subject: [PATCH] defensive coding to prevent lost exceptions on tempfile cleanup --- .../java/org/fcrepo/server/validation/DOValidatorImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fcrepo-server/src/main/java/org/fcrepo/server/validation/DOValidatorImpl.java b/fcrepo-server/src/main/java/org/fcrepo/server/validation/DOValidatorImpl.java index 93a8e7340..8c8c5acc2 100755 --- a/fcrepo-server/src/main/java/org/fcrepo/server/validation/DOValidatorImpl.java +++ b/fcrepo-server/src/main/java/org/fcrepo/server/validation/DOValidatorImpl.java @@ -423,20 +423,20 @@ private File streamtoFile(InputStream objectAsStream) FileOutputStream fos = new FileOutputStream(objectAsFile); FileUtils.copy(objectAsStream, fos); + return objectAsFile; } catch (IOException e) { if (objectAsFile != null && objectAsFile.exists()) { objectAsFile.delete(); } throw e; } - return objectAsFile; } // Distinguish temporary object files from real object files // that were passed in for validation. This is a bit ugly as it stands, // but it should only blow away files in the temp directory. private void cleanUp(File f) { - if (f.getParentFile() != null) { + if (f != null && f.getParentFile() != null) { if (m_absoluteTempPath.equalsIgnoreCase(f .getParentFile().getAbsolutePath())) { f.delete();