java - 如何处理 CWE-400-Resource 耗尽错误
问题描述
我们收到以下代码的 IBM APPSCAN 异常。
{
br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
}
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line+"\n");
}
br.close();
有人可以提出一种处理相同的方法。
解决方案
我自己已经找到了解决方案。
只是我们需要限制 readline() 读取的字符。没有办法限制相同,所以我们需要使用BoundedBufferedReader。
试试下面的:
{
br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
}
StringBuilder sb = new StringBuilder();
String line;
BoundedBufferedReader boundedReader = new BoundedBufferedReader(br,204800,204800);
while (( line = boundedReader.readLine() ) != null) {
sb.append(line+"\n");
}
br.close();
推荐阅读
- delphi - Delphi 组件提示挂起
- reactjs - componentDidMount 中的意外令牌默认导出
- php - PHP - Too few arguments to function index()
- android - 为什么 network_security_config.xml 中指定的主机会被构建过程合并到 Android 清单的 AppLinks 部分?
- node.js - Dynamodb - batchWrite 不工作(nodejs)
- javascript - React Material UI 随机化/删除 MUI 类名
- node.js - 在 AWS ServerLess 中使用来自 dynamo db 的 gsikey 检索员工详细信息
- mysql - 如何为以下数据编写高级复杂的 SQL 查询?
- python - Python中List上的负步索引
- laravel - 页面未重定向 laravel 7