| Index: runtime/observatory/lib/src/service/object.dart
|
| diff --git a/runtime/observatory/lib/src/service/object.dart b/runtime/observatory/lib/src/service/object.dart
|
| index 77599a75bb2c9fc2ec12d846deee48f60cb7c196..5c94d0c5b4bcee62d69be7aba8e44bff465a8e51 100644
|
| --- a/runtime/observatory/lib/src/service/object.dart
|
| +++ b/runtime/observatory/lib/src/service/object.dart
|
| @@ -3156,8 +3156,16 @@ class CodeInstruction extends Observable {
|
| if (address == 0) {
|
| return;
|
| }
|
| -
|
| - jumpTarget = instructionsByAddressOffset[address - startAddress];
|
| + var relativeAddress = address - startAddress;
|
| + if (relativeAddress < 0) {
|
| + Logger.root.warning('Bad address resolving jump target $relativeAddress');
|
| + return;
|
| + }
|
| + if (relativeAddress >= instructionsByAddressOffset.length) {
|
| + Logger.root.warning('Bad address resolving jump target $relativeAddress');
|
| + return;
|
| + }
|
| + jumpTarget = instructionsByAddressOffset[relativeAddress];
|
| }
|
| }
|
|
|
|
|