Bug 422286: fix accounting of array length when slicing dense arrays. r=mrbkap, a=mconnor.

This commit is contained in:
shaver@mozilla.org 2008-03-11 23:50:55 -07:00
parent 49be829b51
commit 1ddc65a4a0

View File

@ -2478,7 +2478,7 @@ array_slice(JSContext *cx, uintN argc, jsval *vp)
if (begin > end)
begin = end;
if (OBJ_IS_DENSE_ARRAY(cx, obj)) {
if (OBJ_IS_DENSE_ARRAY(cx, obj) && end <= ARRAY_DENSE_LENGTH(obj)) {
nobj = js_NewArrayObject(cx, end - begin, obj->dslots + begin);
if (!nobj)
return JS_FALSE;