提交 718a9643 编写于 作者: M mindspore-ci-bot 提交者: Gitee

!1389 Security issues in recent string tensor PR

Merge pull request !1389 from h.farahat/fix_security_issues
......@@ -702,13 +702,14 @@ Status Tensor::GetDataAsNumpyStrings(py::array *data) {
uint64_t total_size = shape_.NumOfElements() * max;
char *tmp_data = reinterpret_cast<char *>(data_allocator_->allocate(total_size));
if (tmp_data == nullptr) RETURN_STATUS_UNEXPECTED("Cannot create temp array.");
memset(tmp_data, 0, total_size);
int ret_code = memset_s(tmp_data, total_size, 0, total_size);
CHECK_FAIL_RETURN_UNEXPECTED(ret_code == 0, "Failed to initialize temp memory");
itr = begin<std::string_view>();
uint64_t i = 0;
for (; itr != end<std::string_view>(); itr++) {
(void)memcpy_s(tmp_data + i * max, total_size, (*itr).data(), (*itr).length());
i++;
for (; itr != end<std::string_view>(); itr++, i++) {
ret_code = memcpy_s(tmp_data + i * max, total_size, (*itr).data(), (*itr).length());
CHECK_FAIL_RETURN_UNEXPECTED(ret_code == 0, "Failed to copy string data.");
}
auto strides = shape_.Strides();
std::transform(strides.begin(), strides.end(), strides.begin(), [&max](const auto &s) { return s * max; });
......
......@@ -57,7 +57,7 @@ def test_batching_strings():
with pytest.raises(RuntimeError) as info:
for _ in data:
pass
assert "[Batch ERROR] Batch does not support" in str(info)
assert "[Batch ERROR] Batch does not support" in str(info.value)
def test_map():
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册
新手
引导
客服 返回
顶部