php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #42512 ip2long('255.255.255.255') should return 4294967295 on 64-bit PHP
Submitted: 2007-09-01 18:10 UTC Modified: 2007-09-01 18:38 UTC
From: jr-php2 at quo dot to Assigned: derick (profile)
Status: Closed Package: Network related
PHP Version: 5.2.4 OS: Linux x86-64
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: jr-php2 at quo dot to
New email:
PHP Version: OS:

 

 [2007-09-01 18:10 UTC] jr-php2 at quo dot to
Description:
------------
On 64-bit platforms, ip2long() returns a positive result for IP addresses >= 128.0.0.0. This is expected.

However, there is *one* case in which it will return a negative result: when the specified address is 255.255.255.255.

This inconsistency doesn't make sense. Yes, the documentation does say that ip2long() returns -1 for 255.255.255.255, but that should only be the case on 32-bit platforms, where all addresses >= 128.0.0.0 return a negative result.

Reproduce code:
---------------
echo "ip2long('255.255.255.254') = ", ip2long('255.255.255.254'), "\n";
echo "ip2long('255.255.255.255') = ", ip2long('255.255.255.255'), "\n";

Expected result:
----------------
ip2long('255.255.255.254') = 4294967294
ip2long('255.255.255.255') = 4294967295

Actual result:
--------------
ip2long('255.255.255.254') = 4294967294
ip2long('255.255.255.255') = -1

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-09-01 18:29 UTC] derick@php.net
Confirmed, and testing a patch.
 [2007-09-01 18:38 UTC] derick@php.net
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Thu Jan 30 15:01:31 2025 UTC