PHP
Patch behebt Floating-Point-Bug
Das PHP-Team hat zwei Updates veröffentlicht, die den jüngst bekanntgewordenen Floating-Point-Bug korrigieren.

In der eben erschienenen Version 5.3.5 der Skriptsprache PHP haben die Entwickler den Floating-Point-Bug beseitigt, der unter Umständen eine Auslastung der CPU und somit einen Denial of Service auslösen kann. Für die bereits nicht mehr offiziell gepflegte Version 5.2.x steht das Update 5.2.17 bereit.
Der Fehler wird durch die Funktion zend_strtod ausgelöst, wenn sie bestimmte 64-Bit-Gleitkommazahlen in Form von Zeichenketten zur Umwandlung in eine Gleitkommazahl an den x87-Koprozessor auf 32-Bit-Systemen weitergibt. Ein Designfehler in dem Koprozessor führt zu einer Endlosschleife und unter Umständen zu einer 100-prozentigen Auslastung der CPU. Der Fehler in x87-Koprozessoren ist schon länger bekannt.
In 64-Bit-Systemen werden die Gleitkommazahlen stets von der Befehlserweiterung SSE verarbeitet. Auf 32-Bit-Systemen müsste PHP explizit mit dem Parameter -mfpmath=sse oder mit -ffloat-store neu kompiliert werden, so die Nutzerberichte seit Bekanntwerden des Fehlers. Der Bug wird auch durch die Kennzeichnung der Zeile double aadj, aadj1, adj; mit der Erweiterung des Typqualifikator volatile im Modul zend_strtod behoben.
Laut PHP-Entwickler Johannes Schlüter ist nicht nur PHP 5 von dem Bug befallen, sondern auch alle Versionen ab PHP 3. Für ältere Versionen stellt das PHP-Team eine korrigierte Version der Funktion zend_strtod zur Verfügung.
Die PHP-Versionen 5.3.5, 5.2.17 und der Patch für zend_strtod stehen auf den Servern des Projekts zum Download bereit.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
In Zeiten, in denen von Softwareentwicklern (!!) erwartet wird, mind. cum laude studiert...
Nein das Problem ist, dass die Microsoft Produkte mit ein paar 10 Millionen Zeilen Code...
Blödsinn...