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
-~----------~----~----~----~------~----~------~--~---

Reply via email to