File tree Expand file tree Collapse file tree 2 files changed +22
-1
lines changed
dd-java-agent/agent-iast/src
main/java/com/datadog/iast/sink
test/groovy/com/datadog/iast/sink Expand file tree Collapse file tree 2 files changed +22
-1
lines changed Original file line number Diff line number Diff line change @@ -416,7 +416,11 @@ private static class InsecureJspFolderVisitor implements FileVisitor<Path> {
416416
417417 @ Override
418418 public FileVisitResult preVisitDirectory (final Path dir , final BasicFileAttributes attrs ) {
419- final String folder = dir .getFileName ().toString ();
419+ final Path fileName = dir .getFileName ();
420+ if (fileName == null ) {
421+ return FileVisitResult .CONTINUE ;
422+ }
423+ final String folder = fileName .toString ();
420424 if (endsWithIgnoreCase (folder , WEB_INF )) {
421425 return FileVisitResult .SKIP_SUBTREE ;
422426 }
Original file line number Diff line number Diff line change @@ -6,6 +6,9 @@ import com.datadog.iast.model.Vulnerability
66import com.datadog.iast.model.VulnerabilityType
77import datadog.trace.api.iast.InstrumentationBridge
88import datadog.trace.api.iast.sink.ApplicationModule
9+ import java.io.File
10+ import java.nio.file.FileVisitResult
11+ import java.nio.file.Paths
912
1013import static com.datadog.iast.model.VulnerabilityType.ADMIN_CONSOLE_ACTIVE
1114import static com.datadog.iast.model.VulnerabilityType.DEFAULT_HTML_ESCAPE_INVALID
@@ -138,4 +141,18 @@ class ApplicationModuleTest extends IastModuleImplTestBase {
138141 }
139142 assert vuln. location. line == line
140143 }
144+
145+ void ' insecure jsp visitor handles root directory without name' () {
146+ given :
147+ def visitorClass = ApplicationModuleImpl . declaredClasses. find { it. simpleName == ' InsecureJspFolderVisitor' }
148+ def constructor = visitorClass. getDeclaredConstructor()
149+ constructor. accessible = true
150+ def visitor = constructor. newInstance()
151+
152+ when :
153+ def result = visitor. preVisitDirectory(Paths . get(File . separator), null )
154+
155+ then :
156+ result == FileVisitResult . CONTINUE
157+ }
141158}
You can’t perform that action at this time.
0 commit comments