Mercurial > hg > truffle
diff truffle/com.oracle.truffle.tck/src/com/oracle/truffle/tck/StructuredData.java @ 22499:9bba3a7b34be
Check foreign arguments when accessing ComplexNumber/Sequence objects
author | Matthias Grimmer <grimmer@ssw.jku.at> |
---|---|
date | Mon, 14 Dec 2015 15:07:19 +0100 |
parents | ec40768d77a6 |
children | 89db2519ef18 |
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.tck/src/com/oracle/truffle/tck/StructuredData.java Mon Dec 14 14:30:41 2015 +0100 +++ b/truffle/com.oracle.truffle.tck/src/com/oracle/truffle/tck/StructuredData.java Mon Dec 14 15:07:19 2015 +0100 @@ -81,8 +81,9 @@ @Override public Object execute(VirtualFrame frame) { StructuredData data = (StructuredData) ForeignAccess.getReceiver(frame); - Number index = (Number) ForeignAccess.getArguments(frame).get(0); - return new StructuredDataEntry(data.buffer, data.schema, index.intValue()); + Number index = TckLanguage.expectNumber(ForeignAccess.getArguments(frame).get(0)); + int idx = TckLanguage.checkBounds(index.intValue(), data.schema.length()); + return new StructuredDataEntry(data.buffer, data.schema, idx); } }