summaryrefslogtreecommitdiff
path: root/calc.go
diff options
context:
space:
mode:
authorxuri <xuri.me@gmail.com>2021-07-20 23:04:50 +0800
committerxuri <xuri.me@gmail.com>2021-07-20 23:04:50 +0800
commit1ec0207fb5fe772e47b257ab2b0c26ff85f94598 (patch)
tree75d342d8ebef7619cd29e88d0c5d5fe2b45760db /calc.go
parentec0ca8ba50a3a59048c51e360301230f45dfc978 (diff)
Fix code security issue
Diffstat (limited to 'calc.go')
-rw-r--r--calc.go9
1 files changed, 4 insertions, 5 deletions
diff --git a/calc.go b/calc.go
index 2d10e3b..3bb81b8 100644
--- a/calc.go
+++ b/calc.go
@@ -7401,7 +7401,7 @@ func (fn *formulaFuncs) cumip(name string, argsList *list.List) formulaArg {
if start.Number < 1 || start.Number > end.Number {
return newErrorFormulaArg(formulaErrorNA, formulaErrorNA)
}
- num, ipmt := 0.0, newNumberFormulaArg(0)
+ num := 0.0
for per := start.Number; per <= end.Number; per++ {
args := list.New().Init()
args.PushBack(rate)
@@ -7411,11 +7411,10 @@ func (fn *formulaFuncs) cumip(name string, argsList *list.List) formulaArg {
args.PushBack(newNumberFormulaArg(0))
args.PushBack(typ)
if name == "CUMIPMT" {
- ipmt = fn.IPMT(args)
- } else {
- ipmt = fn.PPMT(args)
+ num += fn.IPMT(args).Number
+ continue
}
- num += ipmt.Number
+ num += fn.PPMT(args).Number
}
return newNumberFormulaArg(num)
}