This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch fix/WW-5573-false-positive-warning in repository https://gitbox.apache.org/repos/asf/struts.git
commit d83af8c8c78c2a1882975ba2466655d1af5ab86a Author: Lukasz Lenart <lukaszlen...@apache.org> AuthorDate: Sun Sep 28 12:07:14 2025 +0200 WW-5573 Avoids false positive warning if file doesn't exist already --- .../apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java | 4 ++-- .../struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java index b7af23417..fd7cfb345 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java @@ -291,7 +291,7 @@ public class JakartaMultiPartRequest extends AbstractMultiPartRequest { if (LOG.isDebugEnabled()) { LOG.debug("Cleaning up disk item: {} at {}", normalizeSpace(item.getFieldName()), itemPath); } - if (!Files.deleteIfExists(itemPath)) { + if (Files.exists(itemPath) && !Files.deleteIfExists(itemPath)) { LOG.warn("There was a problem attempting to delete uploaded file: {}", itemPath); } } @@ -328,7 +328,7 @@ public class JakartaMultiPartRequest extends AbstractMultiPartRequest { LOG.debug("Cleaning up {} temporary files created for in-memory uploads", temporaryFiles.size()); for (File tempFile : temporaryFiles) { try { - if (!Files.deleteIfExists(tempFile.toPath())) { + if (Files.exists(tempFile.toPath()) && !Files.deleteIfExists(tempFile.toPath())) { LOG.warn("There was a problem attempting to delete temporary file: {}", tempFile.getAbsolutePath()); } } catch (Exception e) { diff --git a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java index 2847541f3..6ed460a48 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java @@ -236,7 +236,7 @@ public class JakartaStreamMultiPartRequest extends AbstractMultiPartRequest { // Reject empty files (0 bytes) as they are not considered valid uploads if (rejectEmptyFile(file.length(), fileItemInput.getName(), fileItemInput.getFieldName())) { // Clean up the empty temporary file - if (!Files.deleteIfExists(file.toPath())) { + if (Files.exists(file.toPath()) && !Files.deleteIfExists(file.toPath())) { LOG.warn("Failed to delete empty temporary file: {}", file.getAbsolutePath()); } return;