GH-56902 Copy to new list from dict.items() return
dict.items() in pytho2 returns a list of tuples which can be iterated while modifying the dict. In python 3 it returns a view which is tied to the underlying dict, meaning the modifications to the dict while iterating are unsafe. This commit generates new list containing the tuples from the iterator in python 3 which breaks the link to the dict, allowing the dict to be modified while iterating the list. In python 2 it would simply copy the list. Fixes #56902
This commit is contained in:
parent
a946d5d8ce
commit
0d75e2659e
1 changed files with 1 additions and 1 deletions
|
@ -938,7 +938,7 @@ def get_diff_final_resource(client, module, security_group):
|
|||
'vpc_id': rule_sg.get('vpc_id', module.params['vpc_id']),
|
||||
'vpc_peering_connection_id': rule_sg.get('vpc_peering_connection_id')
|
||||
}]
|
||||
for k, v in format_rule['user_id_group_pairs'][0].items():
|
||||
for k, v in list(format_rule['user_id_group_pairs'][0].items()):
|
||||
if v is None:
|
||||
format_rule['user_id_group_pairs'][0].pop(k)
|
||||
final_rules.append(format_rule)
|
||||
|
|
Loading…
Reference in a new issue