diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractDiskHttpData.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractDiskHttpData.java index 6c6f6262f9..13efed58a3 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractDiskHttpData.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractDiskHttpData.java @@ -238,11 +238,12 @@ public abstract class AbstractDiskHttpData extends AbstractHttpData { @Override public void delete() { if (! isRenamed) { - if (file != null) { + if (file != null && file.exists()) { if (!file.delete()) { logger.warn("Failed to delete: {}", file); } } + file = null; } } @@ -322,6 +323,9 @@ public abstract class AbstractDiskHttpData extends AbstractHttpData { if (dest == null) { throw new NullPointerException("dest"); } + if (file == null) { + throw new IOException("No file defined so cannot be renamed"); + } if (!file.renameTo(dest)) { // must copy FileInputStream inputStream = new FileInputStream(file);