Chromium Code Reviews| Index: content/renderer/render_frame_impl.cc |
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
| index f6a4baca9e17bc55960516e1d1c75490a0f6129f..8e061484c83e404bc77837998a3d7a095da10e4a 100644 |
| --- a/content/renderer/render_frame_impl.cc |
| +++ b/content/renderer/render_frame_impl.cc |
| @@ -312,6 +312,19 @@ NOINLINE void CrashIntentionally() { |
| *zero = 0; |
| } |
| +NOINLINE void BadCastIntentionally() { |
|
Avi (use Gerrit)
2015/07/30 21:36:49
BadCastCrashIntentionally
Our crash triage folks
pcc1
2015/07/30 23:43:01
Done.
|
| + class A { |
| + virtual void f() {} |
| + }; |
| + |
| + class B { |
| + virtual void f() {} |
| + }; |
| + |
| + A a; |
| + (void)(B*)&a; |
| +} |
| + |
| #if defined(ADDRESS_SANITIZER) || defined(SYZYASAN) |
| NOINLINE void MaybeTriggerAsanError(const GURL& url) { |
| // NOTE(rogerm): We intentionally perform an invalid heap access here in |
| @@ -351,7 +364,9 @@ NOINLINE void MaybeTriggerAsanError(const GURL& url) { |
| void MaybeHandleDebugURL(const GURL& url) { |
| if (!url.SchemeIs(kChromeUIScheme)) |
| return; |
| - if (url == GURL(kChromeUICrashURL)) { |
| + if (url == GURL(kChromeUIBadCastURL)) { |
| + BadCastIntentionally(); |
| + } else if (url == GURL(kChromeUICrashURL)) { |
| CrashIntentionally(); |
| } else if (url == GURL(kChromeUIDumpURL)) { |
| // This URL will only correctly create a crash dump file if content is |