Commit 4823e7c3 authored by Bobby Holley's avatar Bobby Holley
Browse files

Bug 743961 - Null-check context pushing callbacks. r=mrbkap

parent f9d4ce27
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
var n = (evalcx('lazy'));
try { var nbuf = serialize(n); } catch(e) {} // Don't crash
+5 −2
Original line number Diff line number Diff line
@@ -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() {
@@ -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);
        }
    };