summary refs log tree commit diff
path: root/gnu/packages/patches/t1lib-CVE-2010-2642.patch
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2016-05-30 11:46:12 +0300
committerEfraim Flashner <efraim@flashner.co.il>2016-05-30 12:09:14 +0300
commit4f3e02f198719c98a46aa3060fbd9bececa20f87 (patch)
tree4b3f36540a1258df78c471450adde0b713799d72 /gnu/packages/patches/t1lib-CVE-2010-2642.patch
parent321dc4dfe4392b847c089110fb57e160635d6719 (diff)
downloadguix-4f3e02f198719c98a46aa3060fbd9bececa20f87.tar.gz
gnu: t1lib: Fix CVE-2010-2642, CVE-2011-{0764, 1552, 1553, 1554}.
* gnu/packages/fontutils.scm (t1lib)[source]: Add patches.
* gnu/packages/patches/t1lib-CVE-2010-2642.patch,
gnu/packages/patches/t1lib-CVE-2011-0764.patch,
gnu/packages/patches/t1lib-CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch: New variables.
* gnu/local.mk (dist_patch_DATA): Add them.
Diffstat (limited to 'gnu/packages/patches/t1lib-CVE-2010-2642.patch')
-rw-r--r--gnu/packages/patches/t1lib-CVE-2010-2642.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/gnu/packages/patches/t1lib-CVE-2010-2642.patch b/gnu/packages/patches/t1lib-CVE-2010-2642.patch
new file mode 100644
index 0000000000..cd54889585
--- /dev/null
+++ b/gnu/packages/patches/t1lib-CVE-2010-2642.patch
@@ -0,0 +1,24 @@
+diff --git a/lib/t1lib/parseAFM.c b/lib/t1lib/parseAFM.c
+index 6a31d7f..ba64541 100644
+--- a/lib/t1lib/parseAFM.c
++++ b/lib/t1lib/parseAFM.c
+@@ -199,7 +199,9 @@ static char *token(stream)
+     idx = 0;
+     
+     while (ch != EOF && ch != ' ' && ch != CR  && ch != LF &&
+-	   ch != CTRL_Z && ch != '\t' && ch != ':' && ch != ';'){
++	   ch != CTRL_Z && ch != '\t' && ch != ':' && ch != ';'
++     && idx < (MAX_NAME -1))
++    {
+       ident[idx++] = ch;
+       ch = fgetc(stream);
+     } /* while */
+@@ -235,7 +237,7 @@ static char *linetoken(stream)
+     while ((ch = fgetc(stream)) == ' ' || ch == '\t' ); 
+     
+     idx = 0;
+-    while (ch != EOF && ch != CR  && ch != LF && ch != CTRL_Z) 
++    while (ch != EOF && ch != CR  && ch != LF && ch != CTRL_Z && idx < (MAX_NAME - 1)) 
+     {
+         ident[idx++] = ch;
+         ch = fgetc(stream);