--- old/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeUint16Array.java 2015-03-26 12:57:57.053485010 +0100 +++ new/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeUint16Array.java 2015-03-26 12:57:56.969485013 +0100 @@ -104,12 +104,11 @@ private void setElem(final int index, final int elem) { try { - nb.put(index, (char)elem); - } catch (final IndexOutOfBoundsException e) { - //swallow valid array indexes. it's ok. - if (index < 0) { - throw new ClassCastException(); + if (index < nb.limit()) { + nb.put(index, (char) elem); } + } catch (final IndexOutOfBoundsException e) { + throw new ClassCastException(); } }