зеркало из https://github.com/mozilla/gecko-dev.git
Bug 987910 - Callers of updateFromMatchPairs() must handle error. r=nbp
This commit is contained in:
Родитель
45e7b43682
Коммит
5f99db0399
|
@ -102,8 +102,10 @@ ExecuteRegExpImpl(JSContext *cx, RegExpStatics *res, RegExpShared &re,
|
|||
} else {
|
||||
/* Vector of MatchPairs provided: execute full regexp. */
|
||||
status = re.execute(cx, chars, length, lastIndex, *matches.u.pairs);
|
||||
if (status == RegExpRunStatus_Success && res)
|
||||
res->updateFromMatchPairs(cx, input, *matches.u.pairs);
|
||||
if (status == RegExpRunStatus_Success && res) {
|
||||
if (!res->updateFromMatchPairs(cx, input, *matches.u.pairs))
|
||||
return RegExpRunStatus_Error;
|
||||
}
|
||||
}
|
||||
|
||||
return status;
|
||||
|
|
|
@ -1860,7 +1860,8 @@ DoMatchLocal(JSContext *cx, CallArgs args, RegExpStatics *res, Handle<JSLinearSt
|
|||
return true;
|
||||
}
|
||||
|
||||
res->updateFromMatchPairs(cx, input, matches);
|
||||
if (!res->updateFromMatchPairs(cx, input, matches))
|
||||
return false;
|
||||
|
||||
RootedValue rval(cx);
|
||||
if (!CreateRegExpMatchResult(cx, input, matches, &rval))
|
||||
|
@ -2172,7 +2173,9 @@ DoMatchForReplaceLocal(JSContext *cx, RegExpStatics *res, Handle<JSLinearString*
|
|||
if (status == RegExpRunStatus_Success_NotFound)
|
||||
return true;
|
||||
|
||||
res->updateFromMatchPairs(cx, linearStr, matches);
|
||||
if (!res->updateFromMatchPairs(cx, linearStr, matches))
|
||||
return false;
|
||||
|
||||
return ReplaceRegExp(cx, res, rdata);
|
||||
}
|
||||
|
||||
|
@ -2193,7 +2196,8 @@ DoMatchForReplaceGlobal(JSContext *cx, RegExpStatics *res, Handle<JSLinearString
|
|||
if (status == RegExpRunStatus_Success_NotFound)
|
||||
break;
|
||||
|
||||
res->updateFromMatchPairs(cx, linearStr, matches);
|
||||
if (!res->updateFromMatchPairs(cx, linearStr, matches))
|
||||
return false;
|
||||
|
||||
if (!ReplaceRegExp(cx, res, rdata))
|
||||
return false;
|
||||
|
@ -3290,7 +3294,8 @@ class SplitRegExpMatcher
|
|||
return true;
|
||||
}
|
||||
|
||||
res->updateFromMatchPairs(cx, str, matches);
|
||||
if (!res->updateFromMatchPairs(cx, str, matches))
|
||||
return false;
|
||||
|
||||
JSSubString sep;
|
||||
res->getLastMatch(&sep);
|
||||
|
|
Загрузка…
Ссылка в новой задаче