From 205b7c7a95f6edc6fd7ae527b61ae1639272dcd9 Mon Sep 17 00:00:00 2001 From: Marshall Greenblatt Date: Thu, 8 Nov 2012 15:28:08 +0000 Subject: [PATCH] Fix potential crash if a context with no bindings is released (issue #736). git-svn-id: https://chromiumembedded.googlecode.com/svn/branches/1271@903 5089003a-bbd8-11dd-ad1f-f1f9622dbc98 --- cef3/libcef/renderer/v8_impl.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cef3/libcef/renderer/v8_impl.cc b/cef3/libcef/renderer/v8_impl.cc index 0b173dc0a..713e643cb 100644 --- a/cef3/libcef/renderer/v8_impl.cc +++ b/cef3/libcef/renderer/v8_impl.cc @@ -88,9 +88,6 @@ class CefV8TrackManager { v8::Handle object = context->Global(); v8::Handle value = object->GetHiddenValue(context_state_key_); - if (value.IsEmpty()) - return; - if (!value.IsEmpty()) return static_cast(v8::External::Unwrap(value)); @@ -122,6 +119,9 @@ class CefV8TrackManager { v8::Handle object = context->Global(); v8::Handle value = object->GetHiddenValue(context_state_key_); + if (value.IsEmpty()) + return; + scoped_refptr state = static_cast(v8::External::Unwrap(value)); state->Detach();