Author: [email protected]
Date: Mon Jul 20 03:54:00 2009
New Revision: 2510
Modified:
branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.cc
Log:
Change RegExpMacroAssemblerIA32::CaseInsensitiveCompareUC16 so that it
does not use stack-allocated character as a one-element character
array.
The use at this site was actually safe (Ecma262Canonicalize will only
write to the first character of the array), but not obviously so.
BUG=17103
Review URL: http://codereview.chromium.org/159071
Modified: branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.cc
==============================================================================
--- branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.cc
(original)
+++ branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.cc Mon Jul
20 03:54:00 2009
@@ -1073,10 +1073,12 @@
unibrow::uchar c1 = substring1[i];
unibrow::uchar c2 = substring2[i];
if (c1 != c2) {
- canonicalize.get(c1, '\0', &c1);
- if (c1 != c2) {
- canonicalize.get(c2, '\0', &c2);
- if (c1 != c2) {
+ unibrow::uchar s1[1] = { c1 };
+ canonicalize.get(c1, '\0', s1);
+ if (s1[0] != c2) {
+ unibrow::uchar s2[1] = { c2 };
+ canonicalize.get(c2, '\0', s2);
+ if (s1[0] != s2[0]) {
return 0;
}
}
--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---