提交 ef75f54b 编写于 作者: O obdev 提交者: ob-robot

Fix incorrect length setting leads to out-of-bounds memory access

上级 d5034e56
......@@ -458,7 +458,7 @@ int ObExprSubstr::substr(common::ObString &varchar,
res_len = min(length, mb_len - start);
int64_t offset = ObCharset::charpos(cs_type, varchar.ptr(), varchar.length(), start);
res_len = ObCharset::charpos(cs_type, varchar.ptr() + offset,
(offset == 0) ? varchar.length() : varchar.length() - offset + 1, res_len);
(offset == 0) ? varchar.length() : varchar.length() - offset, res_len);
varchar.assign_ptr(varchar.ptr() + offset, static_cast<int32_t>(res_len));
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册