[GNA] Fix static analyzer issues (#10379)

* fix incorrect braces

* move pointer check

* add pointer check to VerifyConcat

* Prevent iterator invalidation
This commit is contained in:
Anton Grishin 2022-02-16 15:46:32 +03:00 committed by GitHub
parent 434d7bbecc
commit 05650551b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 8 deletions

View File

@ -725,8 +725,6 @@ inline void CNNNetworkRemoveLayer(CNNLayerPtr layer, bool checkDims = true) {
* - new & old prev layer must have exactly one outgoing port
*/
inline void CNNNetworkReconnectLayer(CNNLayerPtr old_prev_layer, CNNLayerPtr new_prev_layer, CNNLayerPtr layer, bool checkDims = true) {
gnalog() << "Reconnecting " << old_prev_layer->name << " --> " << layer->name << " layer to "
<< new_prev_layer->name << " -- > " << layer->name << "layer\n";
if (!layer) {
IE_THROW() << "Cannot reconnect layer pointed to NULL";
}
@ -737,6 +735,9 @@ inline void CNNNetworkReconnectLayer(CNNLayerPtr old_prev_layer, CNNLayerPtr new
IE_THROW() << "Cannot reconnect layer new parent is NULL";
}
gnalog() << "Reconnecting " << old_prev_layer->name << " --> " << layer->name << " layer to "
<< new_prev_layer->name << " -- > " << layer->name << "layer\n";
if (layer->insData.size() < 1) {
IE_THROW() << "Cannot reconnect layer : " << layer->name
<< " operation supports only layers with at least 1 incomming port";

View File

@ -1954,11 +1954,11 @@ void FuseFQIntoWeightsPass::run() {
auto& relatedInputs = getInputTo(prevLayer->outData[0]);
auto relatedInputsIter = relatedInputs.begin();
while (relatedInputsIter != relatedInputs.end()) {
auto prevIter = relatedInputsIter;
if (LayerInfo(prevIter->second).isFakeQuantize()) {
relatedInputs.erase(prevIter);
if (LayerInfo(relatedInputsIter->second).isFakeQuantize()) {
relatedInputsIter = relatedInputs.erase(relatedInputsIter);
} else {
++relatedInputsIter;
}
++relatedInputsIter;
}
weightableLayer->insData.resize(1);

View File

@ -314,7 +314,7 @@ static std::shared_ptr<ngraph::Node> Create1DConv(const GraphData& graph_data, c
}
// Max pooling
if ((graph_data.max_pool && graph_data.pool_size_width > 1) || graph_data.pool_stride_width > 1) {
if (graph_data.max_pool && (graph_data.pool_size_width > 1 || graph_data.pool_stride_width > 1)) {
last_conv_block_op = std::make_shared<ngraph::opset7::MaxPool>(last_conv_block_op,
ngraph::Strides{1, graph_data.pool_stride_width}, ngraph::Shape{0, 0}, ngraph::Shape{0, 0},
ngraph::Shape{1, graph_data.pool_size_width}, graph_data.max_pool->get_rounding_type(), ngraph::op::PadType::VALID);

View File

@ -90,7 +90,7 @@ bool VerifyReshape(const ngraph::Output<ngraph::Node>& reshape_out) {
bool VerifyConcat(const ngraph::Output<ngraph::Node>& node) {
auto concat_node = std::dynamic_pointer_cast<ngraph::opset8::Concat>(node.get_node_shared_ptr());
return (concat_node->get_axis() == 0);
return concat_node && (concat_node->get_axis() == 0);
}
} // namespace