From: borbarad at gmxpro dot net Operating system: Windows 2000 Server PHP version: 4.3.10 PHP Bug Type: COM related Bug description: COM functionality broken in PHP 4.3.10
Description: ------------ When calling new COM() in PHP 4.3.10 the call will raise an exception due to read of memory at a location too close to NULL (same memory page). This problem occurred only in the latest PHP release. It does not apply to 4.3.9! Actually because it broke some of our scripts we recognized this as a problem. Reproduce code: --------------- //--------------------------------------------------- function GetDomainMachines($DomainName) { // Get the domain object ... $objDomain = new COM("WinNT://".$DomainName); // List all objects and ... while($obj = $objDomain->Next()) // ... filter for computers if ($obj->Class == "Computer"){ $arr[] = $obj->Name; } return $arr; } /* Give a valid domain name as the parameter, then call the function and dump the array contents */ Expected result: ---------------- It will return all machine names of domain members in the hash. Instead of filtering for type "Computer" one may use "User" and give the local machine as the "DomainName" parameter. In this case it should even work on the local machine and will return all users of the local machine. Actual result: -------------- Exception (messagebox, not even as a PHP error). Find a screenshot here: http://www.erm.tu-cottbus.de/~schneol/php/Screenshot0001.png Note, that regardless which object you try to instantiate you'll always fail reading at 0x0000006c, not different locations in memory. -- Edit bug report at http://bugs.php.net/?id=31201&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=31201&r=trysnapshot4 Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=31201&r=trysnapshot50 Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=31201&r=trysnapshot51 Fixed in CVS: http://bugs.php.net/fix.php?id=31201&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=31201&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=31201&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=31201&r=needscript Try newer version: http://bugs.php.net/fix.php?id=31201&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=31201&r=support Expected behavior: http://bugs.php.net/fix.php?id=31201&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=31201&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=31201&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=31201&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=31201&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=31201&r=dst IIS Stability: http://bugs.php.net/fix.php?id=31201&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=31201&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=31201&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=31201&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=31201&r=mysqlcfg