summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeemant Kulleen <seemant@gentoo.org>2004-06-09 20:40:32 +0000
committerSeemant Kulleen <seemant@gentoo.org>2004-06-09 20:40:32 +0000
commitaaa891685b80d0b67d4e3921b754a4f8895d0940 (patch)
treedb055451c3c425534dd5b52b42516cb850a997a6 /app-text/aspell/files
parentAdded ~sparc, #53446 (diff)
downloadhistorical-aaa891685b80d0b67d4e3921b754a4f8895d0940.tar.gz
historical-aaa891685b80d0b67d4e3921b754a4f8895d0940.tar.bz2
historical-aaa891685b80d0b67d4e3921b754a4f8895d0940.zip
Apply a patch to fix the buffer overflow reported in: http://www.securityfocus.com/archive/1/365479. This should close bug #53389 by: Florian Schilhabel <florian.schilhabel@gmx.net>. Other arches need to push this to stable
Diffstat (limited to 'app-text/aspell/files')
-rw-r--r--app-text/aspell/files/aspell-buffer-fix.patch50
-rw-r--r--app-text/aspell/files/digest-aspell-0.50.5-r11
2 files changed, 51 insertions, 0 deletions
diff --git a/app-text/aspell/files/aspell-buffer-fix.patch b/app-text/aspell/files/aspell-buffer-fix.patch
new file mode 100644
index 000000000000..cf43e7b9d56c
--- /dev/null
+++ b/app-text/aspell/files/aspell-buffer-fix.patch
@@ -0,0 +1,50 @@
+diff -urN aspell-0.50.5.orig/prog/compress.c aspell-0.50.5/prog/compress.c
+--- aspell-0.50.5.orig/prog/compress.c 2002-08-31 11:51:11.000000000 -0700
++++ aspell-0.50.5/prog/compress.c 2004-06-09 13:11:46.000000000 -0700
+@@ -28,6 +28,9 @@
+
+ #endif
+
++int count;
++
++
+ void usage ()
+ {
+ fputs("Compresses or uncompresses sorted word lists.\n" , stderr);
+@@ -47,6 +50,7 @@
+ *w++ = (char)(c);
+ } while (c = getc(in), c != EOF && c > 32);
+ *w = '\0';
++ count++;
+ ungetc(c, in);
+ if (c == EOF) return 0;
+ else return 1;
+@@ -69,6 +73,7 @@
+
+ SETBIN (stdout);
+
++ while (count < 256) {
+ while (get_word(stdin, cur)) {
+ int i = 0;
+ /* get the length of the prefix */
+@@ -85,6 +90,7 @@
+ prev = s2; cur = s1;
+ }
+ }
++ }
+ return 0;
+
+ } else if (argv[1][0] == 'd') {
+@@ -100,8 +106,11 @@
+ if (i == 0)
+ i = getc(stdin);
+ --i;
+- while ((c = getc(stdin)) > 32)
++ while ((c = getc(stdin)) > 32 && count < 256) {
+ cur[i++] = (char)c;
++ count++;
++ }
++
+ cur[i] = '\0';
+ fputs(cur, stdout);
+ putc('\n', stdout);
diff --git a/app-text/aspell/files/digest-aspell-0.50.5-r1 b/app-text/aspell/files/digest-aspell-0.50.5-r1
new file mode 100644
index 000000000000..d497ea8286ff
--- /dev/null
+++ b/app-text/aspell/files/digest-aspell-0.50.5-r1
@@ -0,0 +1 @@
+MD5 14403d2ea5ded5d3fc9bb259bf65aab5 aspell-0.50.5.tar.gz 1016586