diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bun.js/bindings/OnigurumaRegExp.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/bun.js/bindings/OnigurumaRegExp.cpp b/src/bun.js/bindings/OnigurumaRegExp.cpp index c9dedb09c..446a576e8 100644 --- a/src/bun.js/bindings/OnigurumaRegExp.cpp +++ b/src/bun.js/bindings/OnigurumaRegExp.cpp @@ -465,12 +465,18 @@ JSC_DEFINE_CUSTOM_GETTER(onigurumaRegExpProtoGetterFlags, (JSGlobalObject * glob JSC_DEFINE_CUSTOM_GETTER(onigurumaRegExpProtoGetterLastIndex, (JSGlobalObject * globalObject, EncodedJSValue encodedThis, PropertyName)) { auto* thisValue = jsDynamicCast<OnigurumaRegEx*>(JSValue::decode(encodedThis)); + if (UNLIKELY(!thisValue)) { + return JSValue::encode(jsUndefined()); + } return JSValue::encode(jsNumber(thisValue->m_lastIndex)); } JSC_DEFINE_CUSTOM_SETTER(onigurumaRegExpProtoSetterLastIndex, (JSGlobalObject * globalObject, EncodedJSValue encodedThis, EncodedJSValue encodedValue, PropertyName)) { auto* thisValue = jsDynamicCast<OnigurumaRegEx*>(JSValue::decode(encodedThis)); + if (UNLIKELY(!thisValue)) { + return JSValue::encode(jsUndefined()); + } auto throwScope = DECLARE_THROW_SCOPE(globalObject->vm()); JSValue value = JSValue::decode(encodedValue); if (!value.isAnyInt()) { |