【发布时间】:2020-10-23 05:13:27
【问题描述】:
在下面的代码中,我在 try 中使用了 BufferedReader 和 InputStreamReader,但 veracode 将安全性抱怨为 Improper Resource Shutdown or Release (CWE ID 404)
try (final BufferedReader bsr = new BufferedReader(new InputStreamReader(Myutils.class.getClassLoader()
.getResourceAsStream("fileName.txt")))) {
String currentLine;
while ((currentLine = bsr.readLine()) != null) {
// doing some operations
}
} catch (final Exception e) {
throw new IllegalStateException("exception occurres");
}
}
我还在另一个类中扩展 HttpServletRequestWrapper
public class MyHttpServletRequestWrapper extends HttpServletRequestWrapper {
private BufferedReader reader;
@Override
public BufferedReader getReader() throws IOException {
if (null == this.reader) {
this.reader = new BufferedReader(new InputStreamReader(getInputStream(), getCharacterEncoding()));
}
return this.reader;
}
}
在this.reader 行中,veracode 给出 Improper Resource Shutdown or Release (CWE ID 404)。我认为框架(tomcat/spring)正在处理这个问题。但不知道为什么veracode会这样说。
【问题讨论】:
标签: java try-with-resources veracode resource-leak