Fix problem with NULL handle in r13367.

R=svenpanne@chromium.org
BUG=chromium:169723

Review URL: https://codereview.chromium.org/11881020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
mstarzinger@chromium.org 2013-01-14 10:59:00 +00:00
parent ee18b8f0e4
commit 12f25e6b2b

View File

@ -1098,14 +1098,15 @@ static MaybeObject* GetOwnProperty(Isolate* isolate,
PropertyAttributes attrs = obj->GetLocalPropertyAttribute(*name);
if (attrs == ABSENT) return heap->undefined_value();
Handle<AccessorPair> accessors(obj->GetLocalPropertyAccessorPair(*name));
AccessorPair* raw_accessors = obj->GetLocalPropertyAccessorPair(*name);
Handle<AccessorPair> accessors(raw_accessors, isolate);
Handle<FixedArray> elms = isolate->factory()->NewFixedArray(DESCRIPTOR_SIZE);
elms->set(ENUMERABLE_INDEX, heap->ToBoolean((attrs & DONT_ENUM) == 0));
elms->set(CONFIGURABLE_INDEX, heap->ToBoolean((attrs & DONT_DELETE) == 0));
elms->set(IS_ACCESSOR_INDEX, heap->ToBoolean(!accessors.is_null()));
elms->set(IS_ACCESSOR_INDEX, heap->ToBoolean(raw_accessors != NULL));
if (accessors.is_null()) {
if (raw_accessors == NULL) {
elms->set(WRITABLE_INDEX, heap->ToBoolean((attrs & READ_ONLY) == 0));
// GetProperty does access check.
Handle<Object> value = GetProperty(obj, name);