diff --git a/js/src/jsregexp.c b/js/src/jsregexp.c index 89f43d8fa694..263d4bc4e413 100644 --- a/js/src/jsregexp.c +++ b/js/src/jsregexp.c @@ -1927,7 +1927,10 @@ js_NewRegExp(JSContext *cx, JSTokenStream *ts, state.context = cx; state.tokenStream = ts; - state.cpbegin = state.cp = JSSTRING_CHARS(str); + state.cp = js_UndependString(cx, str); + if (!state.cp) + goto out; + state.cpbegin = state.cp; state.cpend = state.cp + len; state.flags = flags; state.parenCount = 0;