Bug 674441 - Fix bogus script owner assertion (r=dmandelin)

This commit is contained in:
Bill McCloskey 2011-08-02 10:18:30 -07:00
parent 0c518e835e
commit 1dd1ab38ae

View File

@ -1586,8 +1586,14 @@ js_XDRFunctionObject(JSXDRState *xdr, JSObject **objp)
fun->u.i.wrapper = JSPackedBool((firstword >> 1) & 1);
}
if (!js_XDRScript(xdr, &fun->u.i.script))
/*
* Don't directly store into fun->u.i.script because we want this to happen
* at the same time as we set the script's owner.
*/
JSScript *script = fun->u.i.script;
if (!js_XDRScript(xdr, &script))
return false;
fun->u.i.script = script;
if (xdr->mode == JSXDR_DECODE) {
*objp = FUN_OBJECT(fun);