From ed22c8dacd9be12769469f4a3807319b3140fd23 Mon Sep 17 00:00:00 2001 From: hezuojiao Date: Thu, 16 Dec 2021 19:31:15 +0800 Subject: [PATCH] Fix core when copy number digits in add_v3 --- deps/oblib/src/lib/number/ob_number_v2.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/oblib/src/lib/number/ob_number_v2.cpp b/deps/oblib/src/lib/number/ob_number_v2.cpp index 92ac43d23f..27b8806217 100644 --- a/deps/oblib/src/lib/number/ob_number_v2.cpp +++ b/deps/oblib/src/lib/number/ob_number_v2.cpp @@ -4411,7 +4411,7 @@ int ObNumber::add_v3(const ObNumber& other, ObNumber& value, ObIAllocator& alloc if (OB_SUCC(ret)) { MEMSET(sum_digits, 0, sizeof(uint32_t) * OB_CALC_BUFFER_SIZE); - MEMCPY(sum_digits + 1, augend_digits, augend_desc.len_ * sizeof(uint32_t)); + MEMCPY(sum_digits + 1, augend_digits, min(augend_desc.len_, OB_MAX_DECIMAL_DIGIT) * sizeof(uint32_t)); // inverse traversal const int64_t cur_augend_exp = augend_exp - (augend_desc.len_ - 1); -- GitLab