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;

Reply via email to