File evince-dvi-vulnerability-again.patch of Package evince
#following patch contains original commit + fix for bgo#643882
commit 439c5070022eab6cef7266aab47f978058012c72
Author: Vincent Untz <vuntz@gnome.org>
Date: Thu Feb 17 15:23:39 2011 +0100
backends: Fix another security issue in the dvi-backend
This is similar to one of the fixes from d4139205.
https://bugzilla.gnome.org/show_bug.cgi?id=640923
Index: evince-2.28.2/backend/dvi/mdvi-lib/afmparse.c
===================================================================
--- evince-2.28.2.orig/backend/dvi/mdvi-lib/afmparse.c
+++ evince-2.28.2/backend/dvi/mdvi-lib/afmparse.c
@@ -160,7 +160,7 @@ static char *token(FILE *stream)
idx = 0;
while (ch != EOF && ch != ' ' && ch != lineterm
- && ch != '\t' && ch != ':' && ch != ';' && idx < MAX_NAME)
+ && ch != '\t' && ch != ':' && ch != ';' && idx < (MAX_NAME - 1))
{
ident[idx++] = ch;
ch = fgetc(stream);
@@ -190,7 +190,7 @@ static char *linetoken(FILE *stream)
while ((ch = fgetc(stream)) == ' ' || ch == '\t' );
idx = 0;
- while (ch != EOF && ch != lineterm)
+ while (ch != EOF && ch != lineterm && idx < (MAX_NAME - 1))
{
ident[idx++] = ch;
ch = fgetc(stream);