Fix a bug where a floating point number was cast to int and the value was stored incorrectly because of low byte width. (#7703)

Reported in https://github.com/google/flatbuffers/issues/7690
This commit is contained in:
Maxim Zaks
2022-12-13 06:20:26 +01:00
committed by GitHub
parent 3be296ec8a
commit 97ee210826
3 changed files with 6 additions and 1 deletions

View File

@@ -9,7 +9,7 @@ class BitWidthUtil {
}
static BitWidth width(num value) {
if (value.toInt() == value) {
if (value is int) {
var v = value.toInt().abs();
if (v >> 7 == 0) return BitWidth.width8;
if (v >> 15 == 0) return BitWidth.width16;