From 11f78fb8ad88418036164019dc3c9dd7ce6f14cd Mon Sep 17 00:00:00 2001 From: kswang Date: Fri, 17 Jul 2020 19:35:34 +0800 Subject: [PATCH] check invalid internal output --- mindspore/ccsrc/backend/session/session_basic.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mindspore/ccsrc/backend/session/session_basic.cc b/mindspore/ccsrc/backend/session/session_basic.cc index fa55b07fe5..4c7db3d84b 100644 --- a/mindspore/ccsrc/backend/session/session_basic.cc +++ b/mindspore/ccsrc/backend/session/session_basic.cc @@ -978,6 +978,16 @@ CNodePtr SessionBasic::ConstructOutput(const AnfNodePtrList &outputs, const std: bool internal_output = true; std::string kernel_target = GetCNodeTarget(front_real_kernel.first); for (auto user : users) { + auto cnode = user.first->cast(); + if (cnode == nullptr) { + internal_output = false; + break; + } + auto prim = cnode->input(kAnfPrimitiveIndex); + if (prim == nullptr || !prim->isa()) { + internal_output = false; + break; + } if (!AnfAlgo::IsRealKernel(user.first) || kernel_target != GetCNodeTarget(user.first)) { internal_output = false; break;