[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdelibs/kdecore
From: Oswald Buddenhagen <ossi () kde ! org>
Date: 2004-06-01 1:22:09
Message-ID: 20040601012209.69FC592A8 () office ! kde ! org
[Download RAW message or body]
CVS commit by ossi:
whoops. don't hang upon unterminated braced expandos.
M +6 -2 kmacroexpander.cpp 1.8
M +3 -0 tests/kmacroexpandertest.cpp 1.6
--- kdelibs/kdecore/kmacroexpander.cpp #1.7:1.8
@@ -409,5 +409,7 @@ KMacroMapExpander<QString,VT>::expandEsc
if (str[pos + 1] == '{') {
rpos = pos + 2;
- for (sl = 0; str[rpos + sl] != '}'; sl++);
+ for (sl = 0; str[rpos + sl] != '}'; sl++)
+ if (rpos + sl >= str.length())
+ return 0;
rsl = sl + 3;
} else {
@@ -473,5 +475,7 @@ KWordMacroExpander::expandEscapedMacro(
if (str[pos + 1] == '{') {
rpos = pos + 2;
- for (sl = 0; str[rpos + sl] != '}'; sl++);
+ for (sl = 0; str[rpos + sl] != '}'; sl++)
+ if (rpos + sl >= str.length())
+ return 0;
rsl = sl + 3;
} else {
--- kdelibs/kdecore/tests/kmacroexpandertest.cpp #1.5:1.6
@@ -118,4 +118,7 @@ int main(int argc, char *argv[])
check( "KMacroExpander::expandMacros", s, KMacroExpander::expandMacros(s, smap), \
"Title: %n-filename.txt-http://www.kde.org/index.html-Restaurant \"Chew It\"-%");
+ s = "Title: %{file} %{url";
+ check( "KMacroExpander::expandMacros", s, KMacroExpander::expandMacros(s, smap), \
"Title: filename.txt %{url"); +
MyCExpander mx1;
s = "subst %m but not %n equ %%";
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic