Bug 990729 - Fix nullptr/JS_PropertyStub mistake in js::CheckDefineProperty (r=jorendorff)

This commit is contained in:
Bill McCloskey 2014-06-21 11:54:30 -07:00
parent f71f92c19d
commit 014dd71102

View File

@ -671,8 +671,8 @@ js::CheckDefineProperty(JSContext *cx, HandleObject obj, HandleId id, HandleValu
// Steps 6-11, skipping step 10.a.ii. Prohibit redefining a permanent
// property with different metadata, except to make a writable property
// non-writable.
if (getter != desc.getter() ||
setter != desc.setter() ||
if ((getter != desc.getter() && !(getter == JS_PropertyStub && !desc.getter())) ||
(setter != desc.setter() && !(setter == JS_StrictPropertyStub && !desc.setter())) ||
(attrs != desc.attributes() && attrs != (desc.attributes() | JSPROP_READONLY)))
{
return Throw(cx, id, JSMSG_CANT_REDEFINE_PROP);