Skip to content

Commit f9b0e46

Browse files
committed
Check for overflow when unmarshaling 64-bit float to 32-bits
1 parent 91e4bdd commit f9b0e46

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

decoder.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,9 @@ func (d *decoder) unmarshalFloat64(size uint, offset uint, result reflect.Value)
187187
default:
188188
return newOffset, newUnmarshalTypeError(value, result.Type())
189189
case reflect.Float32, reflect.Float64:
190+
if result.OverflowFloat(value) {
191+
return 0, newUnmarshalTypeError(value, result.Type())
192+
}
190193
result.SetFloat(value)
191194
return newOffset, nil
192195
case reflect.Interface:

0 commit comments

Comments
 (0)