rem:  var ipComponents = aHostName.split("."); 
add:   if (ipComponents.length < 4) {  var binaryDword = parseInt(aHostName).toString(2); if (isNaN(binaryDword)) return false; 
context: function hostNameIsIPAddress(aHostName, aUnobscuredHostName){  // TODO: Add Support for IPv6  var index;  // scammers frequently obscure the IP address by encoding each component as octal, hex  // or in some cases a mix match of each. The IP address could also be represented as a DWORD.  // break the IP address down into individual components.  var ipComponents = aHostName.split(".");  // if we didn't find at least 4 parts to our IP address it either isn't a numerical IP  // or it is encoded as a dword  if (ipComponents.length < 4)  {    // Convert to a binary to test for possible DWORD.    var binaryDword = parseInt(aHostName).toString(2);    if (isNaN(binaryDword))      return false;    // convert the dword into its component IP parts.    ipComponents = new Array;    ipComponents[0] = (aHostName >> 24) & 255;    ipComponents[1] = (aHostName >> 16) & 255;    ipComponents[2] = (aHostName >>  8) & 255;    ipComponents[3] = (aHostName & 255);  }  else  {    for (index = 0; index < ipComponents.length; ++index)    {      // by leaving the radix parameter blank, we can handle IP addresses      // where one component is hex, another is octal, etc.      ipComponents[index] = parseInt(ipComponents[index]);    }  }  // make sure each part of the IP address is in fact a number  for (index = 0; index < ipComponents.length; ++index)    if (isNaN(ipComponents[index])) // if any part of the IP address is not a number, then we can safely return      return false;  var hostName = ipComponents[0] + '.' +  ipComponents[1] + '.' + ipComponents[2] + '.' + ipComponents[3];  // only set aUnobscuredHostName if we are looking at an IPv4 host name  if (isIPv4HostName(hostName))  {    aUnobscuredHostName.value = hostName;    return true;  }  return false;}
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/63e8cb0a55d5931da9057c8ee13ddb7a2acc43af/phishingDetector.js/clean/mail/base/content/phishingDetector.js