Check Node in Model creation (#15943)

* Check Node in Model creation

* apply fixes
This commit is contained in:
Anastasia Kuporosova 2023-02-28 05:27:32 +01:00 committed by GitHub
parent e5f2903c83
commit 45dff75356
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 1 deletions

View File

@ -86,6 +86,12 @@ ngraph::ParameterVector auto_detect_parameters(const std::vector<std::shared_ptr
return parameter_vector;
}
// Check that a Node argument for ctor isn't nullptr.
const std::shared_ptr<ov::Node>& verify_node(const std::shared_ptr<ov::Node>& 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<Node>& 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,

View File

@ -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);