summaryrefslogtreecommitdiffstats
path: root/redhat/kdepim/kdepim-3.5.13-fix_segv.patch
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/kdepim/kdepim-3.5.13-fix_segv.patch')
-rw-r--r--redhat/kdepim/kdepim-3.5.13-fix_segv.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/redhat/kdepim/kdepim-3.5.13-fix_segv.patch b/redhat/kdepim/kdepim-3.5.13-fix_segv.patch
new file mode 100644
index 000000000..10b071c46
--- /dev/null
+++ b/redhat/kdepim/kdepim-3.5.13-fix_segv.patch
@@ -0,0 +1,33 @@
+--- kdepim/kioslaves/imap4/imapparser.cc.segv 2012-05-29 20:22:52.187840588 +0200
++++ kdepim/kioslaves/imap4/imapparser.cc 2012-05-29 20:29:30.723545443 +0200
+@@ -1354,10 +1354,10 @@
+ label = parseOneWordC (inWords);
+ }
+
+- if (inWords[0] == ')')
++ if (!inWords.isEmpty () && inWords[0] == ')')
+ inWords.pos++;
+ }
+- if (inWords[0] == ']')
++ if (!inWords.isEmpty () && inWords[0] == ']')
+ inWords.pos++;
+ skipWS (inWords);
+
+@@ -1479,6 +1479,7 @@
+ {
+ TQCString word = parseLiteralC(inWords, false, true);
+
++ if(!word.isEmpty()) {
+ switch (word[0])
+ {
+ case 'E':
+@@ -1602,6 +1603,9 @@
+ parseLiteralC(inWords);
+ break;
+ }
++ } else {
++ parseLiteralC(inWords);
++ }
+ }
+ }
+