mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 04:45:45 +00:00
bug 315509: array_unshift doesn't deal with holes in the array correctly. Patch from moz_bug_r_a4@yahoo.com. r=mrbkap
This commit is contained in:
parent
d946f2be32
commit
e5b2badc4d
@ -1114,14 +1114,14 @@ array_unshift(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
|
||||
while (last--) {
|
||||
if (!IndexToExistingId(cx, obj, last, &id))
|
||||
return JS_FALSE;
|
||||
if (!IndexToId(cx, last + argc, &id2))
|
||||
return JS_FALSE;
|
||||
if (id == JSID_HOLE) {
|
||||
OBJ_DELETE_PROPERTY(cx, obj, id2, &junk);
|
||||
continue;
|
||||
}
|
||||
if (!OBJ_GET_PROPERTY(cx, obj, id, vp))
|
||||
return JS_FALSE;
|
||||
if (!IndexToId(cx, last + argc, &id2))
|
||||
return JS_FALSE;
|
||||
if (!OBJ_SET_PROPERTY(cx, obj, id2, vp))
|
||||
return JS_FALSE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user