From ba657257a98cbb3ff2cc4f3516f4167e7408fbb9 Mon Sep 17 00:00:00 2001 From: Zach41 Date: Mon, 22 Apr 2024 12:11:58 +0000 Subject: [PATCH] Fix return error of `wide::to_string` --- deps/oblib/src/lib/wide_integer/ob_wide_integer_str_funcs.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/deps/oblib/src/lib/wide_integer/ob_wide_integer_str_funcs.h b/deps/oblib/src/lib/wide_integer/ob_wide_integer_str_funcs.h index 06e14e0c4..22c3c7fd6 100644 --- a/deps/oblib/src/lib/wide_integer/ob_wide_integer_str_funcs.h +++ b/deps/oblib/src/lib/wide_integer/ob_wide_integer_str_funcs.h @@ -126,8 +126,10 @@ int to_string(const ObWideInteger &self, char *buf, const int64_t { static const uint64_t constexpr DIGITS10_BASE = 10000000000000000000ULL; // 10^19 int ret = OB_SUCCESS; - if (OB_ISNULL(buf) || buf_len <= 0) { + if (OB_ISNULL(buf)) { ret = OB_INVALID_ARGUMENT; + } else if (OB_UNLIKELY(buf_len <= 0)) { + ret = OB_SIZE_OVERFLOW; } else { if (ObWideInteger::_impl::is_negative(self) && OB_FAIL(databuff_printf(buf, buf_len, pos, "-"))) { -- GitLab