From e6fce347188ddb6bf7e28bf2d52c71a3d24dc953 Mon Sep 17 00:00:00 2001 From: "brendan%mozilla.org" Date: Sat, 1 Apr 2006 00:01:20 +0000 Subject: [PATCH] Fix double-destroy on js_SetLastIndex failure in js_NewRegExpObject (332415, r=mrbkap). git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_8_BRANCH@193360 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/js/src/jsregexp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mozilla/js/src/jsregexp.c b/mozilla/js/src/jsregexp.c index 5a6524048a3..ba32b4adddd 100644 --- a/mozilla/js/src/jsregexp.c +++ b/mozilla/js/src/jsregexp.c @@ -4116,10 +4116,12 @@ js_NewRegExpObject(JSContext *cx, JSTokenStream *ts, return NULL; JS_PUSH_SINGLE_TEMP_ROOT(cx, STRING_TO_JSVAL(str), &tvr); obj = js_NewObject(cx, &js_RegExpClass, NULL, NULL); - if (!obj || !JS_SetPrivate(cx, obj, re) || !js_SetLastIndex(cx, obj, 0)) { + if (!obj || !JS_SetPrivate(cx, obj, re)) { js_DestroyRegExp(cx, re); obj = NULL; } + if (obj && !js_SetLastIndex(cx, obj, 0)) + obj = NULL; JS_POP_TEMP_ROOT(cx, &tvr); return obj; }