提交 ab34bac4 编写于 作者: M Megvii Engine Team

fix(opencl/extern_c_opr): fix cl_mem UAF issue 2/2

GitOrigin-RevId: ef79af3c6a7c1fb776bd351b3dd99db657fb55cb
上级 421bcfd3
......@@ -381,6 +381,7 @@ void ExternCOprRunner::check_param() {
void ExternCOprRunner::scn_do_execute() {
SmallVector<MGBTensor> c_inp(input().size()), c_out(output().size());
SmallVector<HostTensorND> cpu_inp, cpu_out;
check_param();
bool need_copy = false;
......@@ -417,7 +418,7 @@ void ExternCOprRunner::scn_do_execute() {
m_desc->execute(m_desc.get(), c_inp.data(), c_out.data());
for (size_t i = 0; i < output().size(); ++i)
output(i)->dev_tensor().copy_from_fixlayout(cpu_out[i]);
output(i)->dev_tensor().copy_from_fixlayout(cpu_out[i]).sync();
} else {
CompNodeEnv::from_comp_node(comp_node())
.cpu_env()
......
......@@ -16,9 +16,6 @@ MGB_DEFINE_OPR_CLASS_WITH_EXPORT(
//! store dynamic store param
std::shared_ptr<ExternCOprParam> m_param;
//! HostTensorND holder for scn_do_execute
SmallVector<HostTensorND> cpu_inp, cpu_out;
void get_output_var_shape(
const TensorShapeArray& inp_shape,
TensorShapeArray& out_shape) const override;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册