From 80d22cb46defceff61fe25d7bff4963880f9e2db Mon Sep 17 00:00:00 2001 From: Gary Russell Date: Mon, 3 Apr 2017 15:54:24 -0400 Subject: [PATCH] INT-4086: Fix Array Argument Copy Don't keep a reference to caller's array. --- .../integration/file/RecursiveDirectoryScanner.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-integration-file/src/main/java/org/springframework/integration/file/RecursiveDirectoryScanner.java b/spring-integration-file/src/main/java/org/springframework/integration/file/RecursiveDirectoryScanner.java index 709513eaf4..8657ff8ade 100644 --- a/spring-integration-file/src/main/java/org/springframework/integration/file/RecursiveDirectoryScanner.java +++ b/spring-integration-file/src/main/java/org/springframework/integration/file/RecursiveDirectoryScanner.java @@ -21,6 +21,7 @@ import java.io.IOException; import java.nio.file.FileVisitOption; import java.nio.file.Files; import java.nio.file.Path; +import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -36,6 +37,7 @@ import org.springframework.util.Assert; * By default this class visits all levels of the file tree without any {@link FileVisitOption}s. * * @author Artem Bilan + * @author Gary Russell * * @since 5.0 * @@ -61,7 +63,7 @@ public class RecursiveDirectoryScanner extends DefaultDirectoryScanner { */ public void setFileVisitOptions(FileVisitOption... fileVisitOptions) { Assert.notNull(fileVisitOptions, "'fileVisitOptions' must not be null"); - this.fileVisitOptions = fileVisitOptions; + this.fileVisitOptions = Arrays.copyOf(fileVisitOptions, fileVisitOptions.length); } @Override