From 608b7ee9e18044cacdf87e37d6de3764361cf829 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 8 Nov 2012 12:21:20 -0800 Subject: [PATCH] Throw an exception if OnigRegExp fails to create a regex from a pattern --- native/v8_extensions/onig_reg_exp.mm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/native/v8_extensions/onig_reg_exp.mm b/native/v8_extensions/onig_reg_exp.mm index 71c991b14..ba1657b1f 100644 --- a/native/v8_extensions/onig_reg_exp.mm +++ b/native/v8_extensions/onig_reg_exp.mm @@ -76,9 +76,13 @@ bool OnigRegExp::Execute(const CefString& name, return true; } else if (name == "buildOnigRegExp") { - CefRefPtr userData = new OnigRegExpUserData(arguments[0]); + CefRefPtr pattern = arguments[0]; + CefRefPtr userData = new OnigRegExpUserData(pattern); + if (!userData->m_regex) { + exception = std::string("Failed to create OnigRegExp from pattern '") + pattern->GetStringValue().ToString() + "'"; + } retval = CefV8Value::CreateObject(NULL); - retval->SetUserData(userData); + retval->SetUserData((CefRefPtr)userData); return true; }