Skip to content

Commit ee80980

Browse files
authored
Prevent panic when incorrect range is provided as PivotTableRange to (qax-os#874)
1 parent 2ced00d commit ee80980

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

adjust.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,10 @@ func (f *File) adjustAutoFilterHelper(dir adjustDirection, coordinates []int, nu
198198
// pair of coordinates.
199199
func (f *File) areaRefToCoordinates(ref string) ([]int, error) {
200200
rng := strings.Split(strings.Replace(ref, "$", "", -1), ":")
201+
if len(rng) < 2 {
202+
return nil, ErrParameterInvalid
203+
}
204+
201205
return areaRangeToCoordinates(rng[0], rng[1])
202206
}
203207

pivotTable_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,9 @@ func TestAddPivotTable(t *testing.T) {
228228
// Test adjust range with invalid range
229229
_, _, err := f.adjustRange("")
230230
assert.EqualError(t, err, "parameter is required")
231+
// Test adjust range with incorrect range
232+
_, _, err = f.adjustRange("sheet1!")
233+
assert.EqualError(t, err, "parameter is invalid")
231234
// Test get pivot fields order with empty data range
232235
_, err = f.getPivotFieldsOrder(&PivotTableOption{})
233236
assert.EqualError(t, err, `parameter 'DataRange' parsing error: parameter is required`)

0 commit comments

Comments
 (0)