提交 823d0085 编写于 作者: O obdev 提交者: wangzelin.wzl

[CP] Fix string number accessing array out of bounds

上级 c5e1383f
...@@ -402,8 +402,11 @@ int ObNumber::from_sci_(const char* str, const int64_t length, IAllocator& alloc ...@@ -402,8 +402,11 @@ int ObNumber::from_sci_(const char* str, const int64_t length, IAllocator& alloc
if (e_cnt < 4) { if (e_cnt < 4) {
e_value = e_neg ? (e_value * 10 - (cur - '0')) : (e_value * 10 + cur - '0'); e_value = e_neg ? (e_value * 10 - (cur - '0')) : (e_value * 10 + cur - '0');
} }
cur = str[++i];
e_cnt++; e_cnt++;
if (++i >= length) {
break;
}
cur = str[i];
} }
LOG_DEBUG("ObNumber from sci E", K(warning), K(e_neg), K(e_cnt), K(e_value), K(valid_len), K(i)); LOG_DEBUG("ObNumber from sci E", K(warning), K(e_neg), K(e_cnt), K(e_value), K(valid_len), K(i));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册