Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
6.5.0
-
None
Description
We have a colorful mix of int, uint, qint64, qsizetype and double there and we constantly convert between them. Also, ECMAScript has opinions on this. This has bitten us before and is in no way safe against overflows.
See for example the various QV4::Object::get() methods, QV4::Sequence, and QV4::ArrayPrototype. Mind that many list accesses go through plain QV4::Object::get() with uint indices. Only some lists are JS arrays, but all of them should follow array semantics.