[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

mjs mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:07:42 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit c082d008d5ddba4673616e55f0b1951cefa097ef
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Nov 24 15:02:36 2002 +0000

    	- fixed 3098356 - Hard hang on movie search at www.movietickets.com
    
            * kjs/string_object.cpp:
            (StringProtoFuncImp::call): When doing a regexp replacement that
    	results in an empty match, always move on to the next character
    	after doing the replacement. The previous code would hit an
    	infinite loop if an initial empty match was replaced with the
    	empty string.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2849 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index b851b1c..ecf6864 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,5 +1,16 @@
 2002-11-24  Maciej Stachowiak  <mjs at apple.com>
 
+	- fixed 3098356 - Hard hang on movie search at www.movietickets.com
+	
+        * kjs/string_object.cpp:
+        (StringProtoFuncImp::call): When doing a regexp replacement that
+	results in an empty match, always move on to the next character
+	after doing the replacement. The previous code would hit an
+	infinite loop if an initial empty match was replaced with the
+	empty string.
+
+2002-11-24  Maciej Stachowiak  <mjs at apple.com>
+
 	- fixed 3095446 - Crash on AppleScript page due to very long argument list
 	
         * kjs/grammar.y: Don't try to construct the argument list in the
diff --git a/JavaScriptCore/ChangeLog-2002-12-03 b/JavaScriptCore/ChangeLog-2002-12-03
index b851b1c..ecf6864 100644
--- a/JavaScriptCore/ChangeLog-2002-12-03
+++ b/JavaScriptCore/ChangeLog-2002-12-03
@@ -1,5 +1,16 @@
 2002-11-24  Maciej Stachowiak  <mjs at apple.com>
 
+	- fixed 3098356 - Hard hang on movie search at www.movietickets.com
+	
+        * kjs/string_object.cpp:
+        (StringProtoFuncImp::call): When doing a regexp replacement that
+	results in an empty match, always move on to the next character
+	after doing the replacement. The previous code would hit an
+	infinite loop if an initial empty match was replaced with the
+	empty string.
+
+2002-11-24  Maciej Stachowiak  <mjs at apple.com>
+
 	- fixed 3095446 - Crash on AppleScript page due to very long argument list
 	
         * kjs/grammar.y: Don't try to construct the argument list in the
diff --git a/JavaScriptCore/ChangeLog-2003-10-25 b/JavaScriptCore/ChangeLog-2003-10-25
index b851b1c..ecf6864 100644
--- a/JavaScriptCore/ChangeLog-2003-10-25
+++ b/JavaScriptCore/ChangeLog-2003-10-25
@@ -1,5 +1,16 @@
 2002-11-24  Maciej Stachowiak  <mjs at apple.com>
 
+	- fixed 3098356 - Hard hang on movie search at www.movietickets.com
+	
+        * kjs/string_object.cpp:
+        (StringProtoFuncImp::call): When doing a regexp replacement that
+	results in an empty match, always move on to the next character
+	after doing the replacement. The previous code would hit an
+	infinite loop if an initial empty match was replaced with the
+	empty string.
+
+2002-11-24  Maciej Stachowiak  <mjs at apple.com>
+
 	- fixed 3095446 - Crash on AppleScript page due to very long argument list
 	
         * kjs/grammar.y: Don't try to construct the argument list in the
diff --git a/JavaScriptCore/kjs/string_object.cpp b/JavaScriptCore/kjs/string_object.cpp
index 0ed3a26..0426966 100644
--- a/JavaScriptCore/kjs/string_object.cpp
+++ b/JavaScriptCore/kjs/string_object.cpp
@@ -298,12 +298,6 @@ Value StringProtoFuncImp::call(ExecState *exec, Object &thisObj, const List &arg
         if (pos == -1)
           break;
         len = mstr.size();
-        // special case of empty match
-        if (len == 0 && lastIndex > 0) {
-          pos = lastIndex + 1;
-          if (pos > u.size())
-            break;
-        }
         UString rstr(u3);
         bool ok;
         // check if u3 matches $1 or $2 etc
@@ -325,6 +319,13 @@ Value StringProtoFuncImp::call(ExecState *exec, Object &thisObj, const List &arg
         lastIndex = pos + rstr.size();
         u = u.substr(0, pos) + rstr + u.substr(pos + len);
         //fprintf(stderr,"pos=%d,len=%d,lastIndex=%d,u=%s\n",pos,len,lastIndex,u.ascii());
+
+        // special case of empty match
+        if (len == 0) {
+          lastIndex = lastIndex + 1;
+          if (lastIndex > u.size())
+            break;
+        }
       } while (global);
 
       result = String(u);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list