如何处理 CWE-400-资源耗尽错误

How to handle CWE-400-Resource exhaustion error

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