diff --git a/src/idl_parser.cpp b/src/idl_parser.cpp index d41ad00d3..65ee7ce58 100644 --- a/src/idl_parser.cpp +++ b/src/idl_parser.cpp @@ -135,9 +135,8 @@ inline CheckedError atot(const char *s, Parser &parser, T *val) { int64_t i = StringToInt(s); const int64_t min = flatbuffers::numeric_limits::min(); const int64_t max = flatbuffers::numeric_limits::max(); - ECHECK(parser.CheckInRange(i, min, max)); - *val = (T)i; - return NoError(); + *val = (T)i; // Assign this first to make ASAN happy. + return parser.CheckInRange(i, min, max); } template<> inline CheckedError atot(const char *s, Parser &parser,