Nick schrieb:
und die engine für Java ist in C geschrieben
Hier ist eher das Problem, dass Java keine unsigned integer Typen kennt.
Der Array-Konstruktor kriegt deshalb seine Längenangabe "signed" und muss sich zur Laufzeit mit einer Exception gegen negative Array-Längen wehren.
in C erwartet malloc ein (unsigned) size_t, negative Angaben sind also nicht möglich.
Macht es aber nicht besser, das ungeprüft übernommene Lägenfeld aus der WAP-Message wäre dann ein Out-of-Memory Fehler zur Laufzeit, wenn nicht behandelt mit demselben Resultat wie in Java.