Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
718a9643
M
mindspore
项目概览
magicwindyyd
/
mindspore
与 Fork 源项目一致
Fork自
MindSpore / mindspore
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mindspore
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
718a9643
编写于
4年前
作者:
M
mindspore-ci-bot
提交者:
Gitee
4年前
浏览文件
操作
浏览文件
下载
差异文件
!1389 Security issues in recent string tensor PR
Merge pull request !1389 from h.farahat/fix_security_issues
上级
0e7e82d1
c0f0e154
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
6 addition
and
5 deletion
+6
-5
mindspore/ccsrc/dataset/core/tensor.cc
mindspore/ccsrc/dataset/core/tensor.cc
+5
-4
tests/ut/python/dataset/test_tensor_string.py
tests/ut/python/dataset/test_tensor_string.py
+1
-1
未找到文件。
mindspore/ccsrc/dataset/core/tensor.cc
浏览文件 @
718a9643
...
...
@@ -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
;
});
...
...
This diff is collapsed.
Click to expand it.
tests/ut/python/dataset/test_tensor_string.py
浏览文件 @
718a9643
...
...
@@ -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
():
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
新手
引导
客服
返回
顶部