40 lines
899 B
Plaintext
40 lines
899 B
Plaintext
![]() |
include::../description.adoc[]
|
||
|
|
||
|
== Noncompliant Code Example
|
||
|
|
||
|
----
|
||
|
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
|
||
|
String file = request.getParameter("file");
|
||
|
|
||
|
File fileUnsafe = new File(file);
|
||
|
try {
|
||
|
FileUtils.forceDelete(fileUnsafe); // Noncompliant
|
||
|
}
|
||
|
catch(IOException ex){
|
||
|
System.out.println (ex.toString());
|
||
|
}
|
||
|
}
|
||
|
----
|
||
|
|
||
|
== Compliant Solution
|
||
|
|
||
|
----
|
||
|
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
|
||
|
String file = request.getParameter("file");
|
||
|
|
||
|
File fileUnsafe = new File(file);
|
||
|
File directory = new File("/tmp/");
|
||
|
|
||
|
try {
|
||
|
if(FileUtils.directoryContains(directory, fileUnsafe)) {
|
||
|
FileUtils.forceDelete(fileUnsafe); // Compliant
|
||
|
}
|
||
|
}
|
||
|
catch(IOException ex){
|
||
|
System.out.println (ex.toString());
|
||
|
}
|
||
|
}
|
||
|
----
|
||
|
|
||
|
include::../see.adoc[]
|