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);
openSUSE Build Service is sponsored by