Bug 422286: fix accounting of array length when slicing dense arrays.
r=mrbkap, a=mconnor. git-svn-id: svn://10.0.0.236/trunk@247605 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user