diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-30 17:01:47 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-30 17:03:50 +0100 |
commit | de40fdd2d3c6edf65eed6f43d0d7731440bfb555 (patch) | |
tree | 34418e57479a76d45da07b01a1fd3eb076b94c5f /Source/JavaScriptCore/API/OpaqueJSString.cpp | |
parent | 0cba511b6bf9cebbf325b3cfebeee7e5f85effe9 (diff) | |
download | qtwebkit-de40fdd2d3c6edf65eed6f43d0d7731440bfb555.tar.gz |
Crash in conversion of empty OpaqueJSString to Identifier
https://bugs.webkit.org/show_bug.cgi?id=101867
Patch by Allan Sandfeld Jensen <allan.jensen@digia.com> on 2012-11-30
Reviewed by NOBODY (OOPS!).
The constructor call used for both null and empty OpaqueJSStrings results
in an assertion voilation and crash. This patch instead uses the Identifier
constructors which are specifically for null and empty Identifier.
* API/OpaqueJSString.cpp:
(OpaqueJSString::identifier):
Change-Id: Ia685336d1310be99425d1f80ec29ed0020084061
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'Source/JavaScriptCore/API/OpaqueJSString.cpp')
-rw-r--r-- | Source/JavaScriptCore/API/OpaqueJSString.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Source/JavaScriptCore/API/OpaqueJSString.cpp b/Source/JavaScriptCore/API/OpaqueJSString.cpp index ac7cfd16a..90bc1c095 100644 --- a/Source/JavaScriptCore/API/OpaqueJSString.cpp +++ b/Source/JavaScriptCore/API/OpaqueJSString.cpp @@ -50,8 +50,11 @@ String OpaqueJSString::string() const Identifier OpaqueJSString::identifier(JSGlobalData* globalData) const { - if (!this || !m_string.length()) - return Identifier(globalData, static_cast<const char*>(0)); + if (!this || m_string.isNull()) + return Identifier(); + + if (m_string.isEmpty()) + return Identifier(Identifier::EmptyIdentifier); if (m_string.is8Bit()) return Identifier(globalData, m_string.characters8(), m_string.length()); |