【问题标题】:How to handle CWE-400-Resource exhaustion error如何处理 CWE-400-Resource 耗尽错误
【发布时间】:2026-02-23 08:25:01
【问题描述】:

我们收到以下代码的 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(); 

有人可以提出一种处理方法吗?

【问题讨论】:

    标签: java bluemix-app-scan


    【解决方案1】:

    我自己已经想出了解决办法。

    只是我们需要限制 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();
    

    【讨论】:

    • 你在哪个包/库中有这个 BoundedBufferedReader ?
    • .. 还是您的意思是org.apache.commons.io.input.BoundedReader