Skip to content

Commit 530b1e8

Browse files
committed
Fix for security warning.
1 parent b3d1a4b commit 530b1e8

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

maybe.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,9 @@ func (maybeSelf MaybeDef) ToInt32() (int32, error) {
242242
return int32(0), err
243243
case int:
244244
val, err := maybeSelf.ToInt()
245+
if val > math.MaxInt32 {
246+
return 0, ErrConversionSizeOverflow
247+
}
245248
return int32(val), err
246249
case int32:
247250
return (ref).(int32), nil
@@ -313,26 +316,26 @@ func (maybeSelf MaybeDef) ToBool() (bool, error) {
313316
ref := maybeSelf.ref
314317
switch (ref).(type) {
315318
default:
316-
return bool(false), errors.New("unsupported")
319+
return false, errors.New("unsupported")
317320
case string:
318321
return strconv.ParseBool(maybeSelf.ToString())
319322
case bool:
320323
return (ref).(bool), nil
321324
case int:
322325
val, err := maybeSelf.ToInt()
323-
return bool(val != 0), err
326+
return val != 0, err
324327
case int32:
325328
val, err := maybeSelf.ToInt32()
326-
return bool(val != 0), err
329+
return val != 0, err
327330
case int64:
328331
val, err := maybeSelf.ToInt64()
329-
return bool(val != 0), err
332+
return val != 0, err
330333
case float32:
331334
val, err := maybeSelf.ToFloat32()
332-
return bool(val != 0), err
335+
return val != 0, err
333336
case float64:
334337
val, err := maybeSelf.ToFloat64()
335-
return bool(val != 0), err
338+
return val != 0, err
336339
}
337340
}
338341

0 commit comments

Comments
 (0)