From e061c778a9234bd4e4ed2b6fe43422cbedda7de0 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Wed, 28 Jul 2010 14:07:36 -0400 Subject: [PATCH] Fixed the maskbits parsing for invalid CIDRs. --- src/Cidr.hs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Cidr.hs b/src/Cidr.hs index 8fc014f..f13c4f3 100644 --- a/src/Cidr.hs +++ b/src/Cidr.hs @@ -60,8 +60,11 @@ equivalent (Cidr addr1 mbits1) (Cidr addr2 mbits2) = -- Returns the mask portion of a CIDR address. That is, everything -- after the trailing slash. maskbits_from_cidr_string :: String -> Maskbits -maskbits_from_cidr_string s = - maskbits_from_string ((splitWith (`elem` "/") s) !! 1) +maskbits_from_cidr_string s + | length partlist == 2 = maskbits_from_string (partlist !! 1) + | otherwise = Maskbits.None + where + partlist = (splitWith (`elem` "/") s) -- Takes an IP address String in CIDR notation, and returns a list of -- 2.43.2