Loading js/src/jit-test/tests/basic/bug743961.js 0 → 100644 +2 −0 Original line number Diff line number Diff line var n = (evalcx('lazy')); try { var nbuf = serialize(n); } catch(e) {} // Don't crash js/src/jsclone.cpp +5 −2 Original line number Diff line number Diff line Loading @@ -519,7 +519,9 @@ class AutoEnterCompartmentAndPushPrincipal : public JSAutoEnterCompartment // Push. const JSSecurityCallbacks *cb = cx->runtime->securityCallbacks; if (cb->pushContextPrincipal) return cb->pushContextPrincipal(cx, target->principals(cx)); return true; }; ~AutoEnterCompartmentAndPushPrincipal() { Loading @@ -527,6 +529,7 @@ class AutoEnterCompartmentAndPushPrincipal : public JSAutoEnterCompartment if (state == STATE_OTHER_COMPARTMENT) { AutoCompartment *ac = getAutoCompartment(); const JSSecurityCallbacks *cb = ac->context->runtime->securityCallbacks; if (cb->popContextPrincipal) cb->popContextPrincipal(ac->context); } }; Loading Loading
js/src/jit-test/tests/basic/bug743961.js 0 → 100644 +2 −0 Original line number Diff line number Diff line var n = (evalcx('lazy')); try { var nbuf = serialize(n); } catch(e) {} // Don't crash
js/src/jsclone.cpp +5 −2 Original line number Diff line number Diff line Loading @@ -519,7 +519,9 @@ class AutoEnterCompartmentAndPushPrincipal : public JSAutoEnterCompartment // Push. const JSSecurityCallbacks *cb = cx->runtime->securityCallbacks; if (cb->pushContextPrincipal) return cb->pushContextPrincipal(cx, target->principals(cx)); return true; }; ~AutoEnterCompartmentAndPushPrincipal() { Loading @@ -527,6 +529,7 @@ class AutoEnterCompartmentAndPushPrincipal : public JSAutoEnterCompartment if (state == STATE_OTHER_COMPARTMENT) { AutoCompartment *ac = getAutoCompartment(); const JSSecurityCallbacks *cb = ac->context->runtime->securityCallbacks; if (cb->popContextPrincipal) cb->popContextPrincipal(ac->context); } }; Loading