diff --git a/src/validators.js b/src/validators.js index 67fc8d4..7411919 100644 --- a/src/validators.js +++ b/src/validators.js @@ -85,8 +85,8 @@ function validate(input) { function overlaps(cidr1, cidr2) { const a = cidrToRange(cidr1); const b = cidrToRange(cidr2); - return a.start <= b.end && b.start <= a.start || - b.start <= a.end && a.start <= b.start; + // Каноническая формула пересечения двух отрезков: [a.start, a.end] ∩ [b.start, b.end] ≠ ∅ + return a.start <= b.end && b.start <= a.end; } /**