diff --git a/moto/ec2/models.py b/moto/ec2/models.py index f86b1852c..5599802f6 100644 --- a/moto/ec2/models.py +++ b/moto/ec2/models.py @@ -1240,7 +1240,6 @@ class SecurityGroupBackend(object): def get_security_group_from_id(self, group_id): # 2 levels of chaining necessary since it's a complex structure all_groups = itertools.chain.from_iterable([x.values() for x in self.groups.values()]) - for group in all_groups: if group.id == group_id: return group @@ -1267,7 +1266,6 @@ class SecurityGroupBackend(object): source_group_ids=None, vpc_id=None): group = self.get_security_group_by_name_or_id(group_name_or_id, vpc_id) - if ip_ranges and not isinstance(ip_ranges, list): ip_ranges = [ip_ranges] if ip_ranges: @@ -1335,8 +1333,10 @@ class SecurityGroupBackend(object): group = self.get_security_group_by_name_or_id(group_name_or_id, vpc_id) - if ip_ranges and not isinstance(ip_ranges, list): - ip_ranges = [ip_ranges] + if ip_ranges: + for cidr in ip_ranges: + if not is_valid_cidr(cidr): + raise InvalidCIDRSubnetError(cidr=cidr) # for VPCs source_groups = []