diff --git a/wp-admin/includes/class-ftp.php b/wp-admin/includes/class-ftp.php index 0bf25e9c78..80703a9552 100644 --- a/wp-admin/includes/class-ftp.php +++ b/wp-admin/includes/class-ftp.php @@ -278,7 +278,10 @@ class ftp_base { $dns=@gethostbyaddr($host); if(!$ip) $ip=$host; if(!$dns) $dns=$host; - if(ip2long($ip) === -1) { + // Validate the IPAddress PHP4 returns -1 for invalid, PHP5 false + // -1 === "255.255.255.255" which is the broadcast address which is also going to be invalid + $ipaslong = ip2long($ip); + if ( ($ipaslong == false) || ($ipaslong === -1) ) { $this->SendMSG("Wrong host name/address \"".$host."\""); return FALSE; }