CSubNet::Match() (check if a IP is within a subnet) is wrong. Currently this only affects the -whitelist config/startup argument.
Examples: if you specify -whitelist=192.168.0.1/24, 192.168.0.2 does not match (but it should). This also happens for more complex subnet definitions like 192.168.0.20/29 where 192.168.0.18 should be within the subnet range, but CSubNet::Match() does return false.
Edit: also affects -rpcallowip