[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/kjs
From:       Harri Porten <porten () kde ! org>
Date:       2007-03-21 7:16:56
Message-ID: 1174461416.071655.30068.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 644879 by porten:

applied r644878 from 3.5 branch


 M  +4 -1      regexp.cpp  
 M  +4 -0      string_object.cpp  


--- trunk/KDE/kdelibs/kjs/regexp.cpp #644878:644879
@@ -190,7 +190,7 @@
 #ifndef NDEBUG
     char errorMessage[80];
     regerror(errorCode, &_regex, errorMessage, sizeof errorMessage);
-    fprintf(stderr, "KJS: regcomp failed with '%s'", errorMessage);
+    fprintf(stderr, "KJS: regcomp failed with '%s'\n", errorMessage);
 #endif
     _valid = false;
   }
@@ -365,6 +365,9 @@
 
 #else
 
+  if (!_valid)
+    return UString::null();
+
   const unsigned maxMatch = 10;
   regmatch_t rmatch[maxMatch];
 
--- trunk/KDE/kdelibs/kjs/string_object.cpp #644878:644879
@@ -492,6 +492,10 @@
        */
       reg = tmpReg = new RegExp(a0->toString(exec), RegExp::None);
     }
+    if (!reg->isValid()) {
+      delete tmpReg;
+      return throwError(exec, SyntaxError, "Invalid regular expression");
+    }
     RegExpObjectImp* regExpObj = \
static_cast<RegExpObjectImp*>(exec->lexicalInterpreter()->builtinRegExp());  \
reg->prepareMatch(u);  UString mstr = regExpObj->performMatch(reg, u, 0, &pos);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic