Schwerer PHP-Fehler
Donnerstag, 06. Januar 2011 um 08:33 Uhr

Lediglich kurz nach der Einstellung des Versionszweigs 5.2 ist ein wesentlicher neuer Fehler aufgetaucht:

Die Überführung der Zeichenkette "2.2250738585072011e-308" in eine Gleitkommazahl (Dezimalzahl) lässt auf 32-Bit-Systeme das PHP-Script in einer Endlosschleife mit hoher CPU-Auslastung enden.
64-Bit-Systeme sind von diesem Fehler nicht betroffen. Der Fehler erscheint sowohl im aktuellen PHP 5.2.x inkl. 5.2.16 und 5.3.x. Die kommende Version 5.3.5 enthält den Fehler nicht mehr.
Für die 5.2-Version wurde lediglich nur noch ein Patch bereit gestellt. ich gehe davon aus, dass die Distributoren die Patches relativ schnell aufnehmen werden.

Betroffen ist nicht nur die interne PHP-Entwicklung, sondern auch die Verarbeitung von externen Parametern. Überall wo Zahlen übergeben werden sollen, erfolgt diese Umwandlung. Bei einem einfachen Währungsumrechner, in einem Shop-System, etc. Betroffen sind also viele Arten von Anwendungen die einfach mit einem falschen Parameter gefüttert, den gesamten Server gefährden.

UPDATE (07.01.11):
Entgegen der vorherigen Ankündigung hat Zend doch noch eine Version 5.2.17 mit diesem Bugfixing veröffentlicht.