整数溢出klocwork分析

Integer Overflow klocwork analysis

我有以下代码行,当我对我的项目进行 运行 klocwork 分析时,我得到以下错误

SV.INT_OVF:来自 'br.readLine()' 的污染数据 'Long.parseLong(...)' 用于算术运算,可能导致整数溢出或意外结果

我的代码

 while (line = br.readLine() != null) {
     long timestamp = timescale * Long.parseLong(line.substring(1, line.length()));
 }

如何重构此代码以避免可能的溢出

谢谢

您可以使用 BigInteger 来避免溢出。

你是否应该是另一个问题。

我会看看这些值的合理范围是多少,并首先验证您的输入。很可能最广泛的正常值不会产生溢出(或者如果产生溢出,您必须使用 BigInteger)