diff options
author | Rob Austein <sra@hactrn.net> | 2009-07-10 16:05:02 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2009-07-10 16:05:02 +0000 |
commit | da944a5d4c338f4f55db3ff5b1b634d9d6c4c4e0 (patch) | |
tree | 6149a2451c7d1273ac27721de2afcaf8df1aefc1 | |
parent | c045408f64be8bf0379c3f19dc4a000c6ce404ab (diff) |
resource_set.union() was missing cases where one big range in set A
overlapped with multiple little ranges in set B.
svn path=/rpkid/rpki/resource_set.py; revision=2601
-rw-r--r-- | rpkid/rpki/resource_set.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/rpkid/rpki/resource_set.py b/rpkid/rpki/resource_set.py index b945e688..8308b79f 100644 --- a/rpkid/rpki/resource_set.py +++ b/rpkid/rpki/resource_set.py @@ -308,6 +308,12 @@ class resource_set(list): if this.max > that.max: max = this.max else: max = that.max result.append(type(this)(min, max)) + while set1 and set1[0].max <= max: + assert set1[0].min >= min + del set1[0] + while set2 and set2[0].max <= max: + assert set2[0].min >= min + del set2[0] return type(self)(result) def intersection(self, other): |