diff --git a/src/core/src/model.cpp b/src/core/src/model.cpp index 3e3b6e047a3..0621d6cfb67 100644 --- a/src/core/src/model.cpp +++ b/src/core/src/model.cpp @@ -86,6 +86,12 @@ ngraph::ParameterVector auto_detect_parameters(const std::vector& verify_node(const std::shared_ptr& node) { + OPENVINO_ASSERT(node != nullptr, "Model is incorrect! Some Node equals to nullptr."); + return node; +} + } // namespace ov::Model::Model(const ResultVector& results, const ngraph::ParameterVector& parameters, const std::string& name) @@ -118,7 +124,7 @@ ov::Model::Model(const NodeVector& results, const ngraph::ParameterVector& param ov::Model::Model(const std::shared_ptr& result, const ngraph::ParameterVector& parameters, const std::string& name) - : Model(result->outputs(), parameters, name) {} + : Model(verify_node(result)->outputs(), parameters, name) {} ov::Model::Model(const ngraph::ResultVector& results, const ngraph::SinkVector& sinks, diff --git a/src/core/tests/model.cpp b/src/core/tests/model.cpp index f634fef40c7..5bb38ead945 100644 --- a/src/core/tests/model.cpp +++ b/src/core/tests/model.cpp @@ -2044,6 +2044,7 @@ TEST(model, set_complex_meta_information) { TEST(model, create_model) { EXPECT_NO_THROW(ov::Model({}, "")); EXPECT_THROW(ov::Model(ov::ResultVector{nullptr}, {}, ""), ov::Exception); + EXPECT_THROW(ov::Model(nullptr, {}, ""), ov::Exception); EXPECT_NO_THROW(ov::Model(ov::ResultVector{}, ov::ParameterVector{}, "")); EXPECT_THROW(ov::Model({nullptr}, {nullptr}, {nullptr}, {nullptr}, ""), ov::Exception); EXPECT_THROW(ov::Model({nullptr}, {}, {}, {}, ""), ov::Exception);