Tapa Java

Osuipa silmään maailmalla.. Miten saat Java-koodin kuolemaan? Ajonaikana tai kääntäjässä. Kokeilepa tätä:

class runhang {
public static void main(String[] args) {
  System.out.println("Test:");
  double d = Double.parseDouble("2.2250738585072012e-308");
  System.out.println("Value: " + d);
 }
}

No niin, eihän se siitä varsinaisesti kuole mutta saa ”sydänkohtauksen” ja jumittuu. Tarkistettu uusimmalla Java6u23 versiolla. Saman jutun variaatio voi saada kääntäjän jumiin. Aika eksoottinen tilanne ja epätodennäköinen tietoturva-heikkous mutta kiintoisaa kumminkin. Ja enimmäkseen täysin hyödytöntä, mikä on tietysti lisäbonus 😉

Ja originaali löytyy http://www.dzone.com/links/r/java_hangs_when_converting_22250738585072012e308.html

 

Ja update: Oracle reagoi nopeasti ja nyt löytyy patchi tähänkin haavoittuvuuteen, Oraclen FPUpdater työkalu. Hyvää työtä!

http://www.oracle.com/technetwork/java/javase/fpupdater-tool-readme-305936.html

Advertisements

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s