Fix code security issue
This commit is contained in:
parent
ec0ca8ba50
commit
1ec0207fb5
9
calc.go
9
calc.go
|
@ -7401,7 +7401,7 @@ func (fn *formulaFuncs) cumip(name string, argsList *list.List) formulaArg {
|
||||||
if start.Number < 1 || start.Number > end.Number {
|
if start.Number < 1 || start.Number > end.Number {
|
||||||
return newErrorFormulaArg(formulaErrorNA, formulaErrorNA)
|
return newErrorFormulaArg(formulaErrorNA, formulaErrorNA)
|
||||||
}
|
}
|
||||||
num, ipmt := 0.0, newNumberFormulaArg(0)
|
num := 0.0
|
||||||
for per := start.Number; per <= end.Number; per++ {
|
for per := start.Number; per <= end.Number; per++ {
|
||||||
args := list.New().Init()
|
args := list.New().Init()
|
||||||
args.PushBack(rate)
|
args.PushBack(rate)
|
||||||
|
@ -7411,11 +7411,10 @@ func (fn *formulaFuncs) cumip(name string, argsList *list.List) formulaArg {
|
||||||
args.PushBack(newNumberFormulaArg(0))
|
args.PushBack(newNumberFormulaArg(0))
|
||||||
args.PushBack(typ)
|
args.PushBack(typ)
|
||||||
if name == "CUMIPMT" {
|
if name == "CUMIPMT" {
|
||||||
ipmt = fn.IPMT(args)
|
num += fn.IPMT(args).Number
|
||||||
} else {
|
continue
|
||||||
ipmt = fn.PPMT(args)
|
|
||||||
}
|
}
|
||||||
num += ipmt.Number
|
num += fn.PPMT(args).Number
|
||||||
}
|
}
|
||||||
return newNumberFormulaArg(num)
|
return newNumberFormulaArg(num)
|
||||||
}
|
}
|
||||||
|
|
5
lib.go
5
lib.go
|
@ -63,10 +63,7 @@ func (f *File) readXML(name string) []byte {
|
||||||
// saveFileList provides a function to update given file content in file list
|
// saveFileList provides a function to update given file content in file list
|
||||||
// of XLSX.
|
// of XLSX.
|
||||||
func (f *File) saveFileList(name string, content []byte) {
|
func (f *File) saveFileList(name string, content []byte) {
|
||||||
newContent := make([]byte, 0, len(XMLHeader)+len(content))
|
f.Pkg.Store(name, append([]byte(XMLHeader), content...))
|
||||||
newContent = append(newContent, []byte(XMLHeader)...)
|
|
||||||
newContent = append(newContent, content...)
|
|
||||||
f.Pkg.Store(name, newContent)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read file content as string in a archive file.
|
// Read file content as string in a archive file.
|
||||||
|
|
|
@ -3130,11 +3130,11 @@ func ThemeColor(baseColor string, tint float64) string {
|
||||||
if tint == 0 {
|
if tint == 0 {
|
||||||
return "FF" + baseColor
|
return "FF" + baseColor
|
||||||
}
|
}
|
||||||
r, _ := strconv.ParseInt(baseColor[0:2], 16, 64)
|
r, _ := strconv.ParseUint(baseColor[0:2], 16, 64)
|
||||||
g, _ := strconv.ParseInt(baseColor[2:4], 16, 64)
|
g, _ := strconv.ParseUint(baseColor[2:4], 16, 64)
|
||||||
b, _ := strconv.ParseInt(baseColor[4:6], 16, 64)
|
b, _ := strconv.ParseUint(baseColor[4:6], 16, 64)
|
||||||
var h, s, l float64
|
var h, s, l float64
|
||||||
if r >= 0 && r <= math.MaxUint8 && g >= 0 && g <= math.MaxUint8 && b >= 0 && b <= math.MaxUint8 {
|
if r <= math.MaxUint8 && g <= math.MaxUint8 && b <= math.MaxUint8 {
|
||||||
h, s, l = RGBToHSL(uint8(r), uint8(g), uint8(b))
|
h, s, l = RGBToHSL(uint8(r), uint8(g), uint8(b))
|
||||||
}
|
}
|
||||||
if tint < 0 {
|
if tint < 0 {
|
||||||
|
|
Loading…
Reference in New Issue