Chromium Code Reviews| Index: runtime/vm/dart_api_impl.cc |
| diff --git a/runtime/vm/dart_api_impl.cc b/runtime/vm/dart_api_impl.cc |
| index 21cbd89ddd487aeb9b3b721cd8baea02d0b63951..0eff97cecbf22e456798769baa7f3165735837ab 100644 |
| --- a/runtime/vm/dart_api_impl.cc |
| +++ b/runtime/vm/dart_api_impl.cc |
| @@ -264,6 +264,9 @@ bool Api::StringGetPeerHelper(Dart_NativeArguments args, |
| NoGCScope no_gc_scope; |
| NativeArguments* arguments = reinterpret_cast<NativeArguments*>(args); |
| RawObject* raw_obj = arguments->NativeArgAt(arg_index); |
| + if (!raw_obj->IsHeapObject()) { |
| + return false; |
| + } |
|
siva
2013/10/22 00:08:53
Why this is needed?
rmacnak
2013/10/22 00:28:21
The assert in RawObject::GetClassId will fail when
siva
2013/10/22 18:26:49
The function is supposed to be called only from
Da
rmacnak
2013/10/22 18:54:13
DartUtilities::dartToString and its callers do not
|
| intptr_t cid = raw_obj->GetClassId(); |
| if (cid == kExternalOneByteStringCid) { |
| RawExternalOneByteString* raw_string = |