зеркало из https://github.com/mozilla/gecko-dev.git
Bug 764289 - Null-check desc->obj after calling Proxy::getPropertyDescriptor. r=jorendorff
This commit is contained in:
Родитель
90ab573ce5
Коммит
cde276d091
|
@ -0,0 +1,3 @@
|
|||
// Don't crash. May require valgrind.
|
||||
var prox = Proxy.create({getPropertyDescriptor: function() { }});
|
||||
Object.prototype.__lookupGetter__.call(prox, 'q');
|
|
@ -1443,7 +1443,7 @@ obj_lookupGetter(JSContext *cx, unsigned argc, Value *vp)
|
|||
PropertyDescriptor desc;
|
||||
if (!Proxy::getPropertyDescriptor(cx, obj, id, false, &desc))
|
||||
return JS_FALSE;
|
||||
if ((desc.attrs & JSPROP_GETTER) && desc.getter)
|
||||
if (desc.obj && (desc.attrs & JSPROP_GETTER) && desc.getter)
|
||||
*vp = CastAsObjectJsval(desc.getter);
|
||||
return JS_TRUE;
|
||||
}
|
||||
|
@ -1478,7 +1478,7 @@ obj_lookupSetter(JSContext *cx, unsigned argc, Value *vp)
|
|||
PropertyDescriptor desc;
|
||||
if (!Proxy::getPropertyDescriptor(cx, obj, id, false, &desc))
|
||||
return JS_FALSE;
|
||||
if ((desc.attrs & JSPROP_SETTER) && desc.setter)
|
||||
if (desc.obj && (desc.attrs & JSPROP_SETTER) && desc.setter)
|
||||
*vp = CastAsObjectJsval(desc.setter);
|
||||
return JS_TRUE;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче