diff --git a/mozilla/js/ref/jsregexp.c b/mozilla/js/ref/jsregexp.c index 151d3b29d4e..9c7ec8fe3df 100644 --- a/mozilla/js/ref/jsregexp.c +++ b/mozilla/js/ref/jsregexp.c @@ -1476,7 +1476,8 @@ OptimizeRegExp(CompilerState *state, RENode *ren) len = 1; } cx = state->context; - PR_ARENA_ALLOCATE(cp, &cx->tempPool, len + 2); + PR_ARENA_ALLOCATE(cp, &cx->tempPool, + (len + 1) * sizeof(jschar)); if (!cp) { JS_ReportOutOfMemory(cx); return JS_FALSE; @@ -1972,6 +1973,7 @@ js_NewRegExp(JSContext *cx, JSString *str, uintN flags) if (!end || !SetNext(&state, ren, end)) goto out; + if (!AnchorRegExp(&state, ren)) goto out; if (!OptimizeRegExp(&state, ren))