summaryrefslogtreecommitdiffstats
path: root/redhat/kdelibs/kdelibs-3.5.13-maxlinelength.patch
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/kdelibs/kdelibs-3.5.13-maxlinelength.patch')
-rw-r--r--redhat/kdelibs/kdelibs-3.5.13-maxlinelength.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/redhat/kdelibs/kdelibs-3.5.13-maxlinelength.patch b/redhat/kdelibs/kdelibs-3.5.13-maxlinelength.patch
new file mode 100644
index 000000000..ba009c708
--- /dev/null
+++ b/redhat/kdelibs/kdelibs-3.5.13-maxlinelength.patch
@@ -0,0 +1,40 @@
+diff -Naur kdelibs.orig/kio/kio/kmimemagic.cpp kdelibs/kio/kio/kmimemagic.cpp
+--- kdelibs.orig/kio/kio/kmimemagic.cpp 2011-08-11 04:30:08.000000000 +0200
++++ kdelibs/kio/kio/kmimemagic.cpp 2011-11-19 23:23:41.000000000 +0100
+@@ -1988,8 +1988,9 @@
+ return 1;
+ }
+
+-/* Maximal length of a line we consider "reasonable". */
+-#define TEXT_MAXLINELEN 300
++/* Code removed below: conf files with big lines ARE text files,
++ * there is no "reasonable" length
++ */
+
+ // This code is taken from the "file" command, where it is licensed
+ // in the "beer-ware license" :-)
+@@ -2007,23 +2008,6 @@
+ if ((*cp < 8) || (*cp>13 && *cp<32 && *cp!=27 ) || (*cp==0x7F))
+ return 0;
+
+- /* Now, look whether the file consists of lines of
+- * "reasonable" length. */
+-
+- for (i = 0; i < nbytes;) {
+- cp = (unsigned char *) memchr(buf, '\n', nbytes - i);
+- if (cp == NULL) {
+- /* Don't fail if we hit the end of buffer. */
+- if (i + TEXT_MAXLINELEN >= nbytes)
+- break;
+- else
+- return 0;
+- }
+- if (cp - buf > TEXT_MAXLINELEN)
+- return 0;
+- i += (cp - buf + 1);
+- buf = cp + 1;
+- }
+ conf->resultBuf = MIME_TEXT_PLAIN;
+ return 1;
+ }
+