diff --git a/tdutils/td/utils/StringBuilder.cpp b/tdutils/td/utils/StringBuilder.cpp index a36f5e57..93fb20f0 100644 --- a/tdutils/td/utils/StringBuilder.cpp +++ b/tdutils/td/utils/StringBuilder.cpp @@ -81,7 +81,7 @@ StringBuilder &StringBuilder::operator<<(double x) { auto left = end_ptr_ + reserved_size - current_ptr_; if (unlikely(len >= left)) { error_flag_ = true; - len = left - 1; + len = left ? narrow_cast(left - 1) : 0; } ss->read(current_ptr_, len); current_ptr_ += len;