[IE CLDNN] program_impl::replace_all_usages causes invalid memory access. (#138)

This commit is contained in:
chxd 2020-11-17 18:45:42 +08:00 committed by GitHub
parent 15f7ab5e6e
commit 5de182a4ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -771,11 +771,12 @@ void program_impl::swap_names(program_node& node1, program_node& node2) {
}
void program_impl::replace_all_usages(program_node& old_node, program_node& new_node) {
auto itr = old_node.users.begin();
auto cnt = old_node.users.size();
while (cnt != 0) {
cnt--;
const std::list<program_node*> users(old_node.users);
auto itr = users.begin();
bool end = (itr == users.end());
while (!end) {
auto& usage = (*itr++);
end = (itr == users.end());
usage->replace_dependency(old_node, new_node);
}
}