Package: evince
Version: 0.4.0-2
Severity: critical
Tags: security, patch

This is the same vulnerability as reported against gv as bug 398292, 
since evince has old gv code embedded (I've updated the wiki to reflect 
this: http://wiki.debian.org/EmbeddedCodeCopies)

Patch attached (applies to both 0.4.0 and 0.6.1).

-- 
Kees Cook                                            @outflux.net
diff -Nur evince-0.4.0/ps/ps.c evince-0.4.0.new/ps/ps.c
--- evince-0.4.0/ps/ps.c        2005-06-17 06:33:00.000000000 -0700
+++ evince-0.4.0.new/ps/ps.c    2006-12-04 12:28:32.280683848 -0800
@@ -1225,6 +1225,9 @@
     quoted = 1;
     line++;
     while(*line && !(*line == ')' && level == 0)) {
+      if (cp - text >= PSLINELENGTH - 2) {
+        return NULL;
+      }
       if(*line == '\\') {
         if(*(line + 1) == 'n') {
           *cp++ = '\n';
@@ -1295,8 +1298,12 @@
     }
   }
   else {
-    while(*line && !(*line == ' ' || *line == '\t' || *line == '\n'))
+    while(*line && !(*line == ' ' || *line == '\t' || *line == '\n')) {
+      if (cp - text >= PSLINELENGTH - 2) {
+        return NULL;
+      }
       *cp++ = *line++;
+    }
   }
   *cp = '\0';
   if(next_char)

Reply via email to