$NetBSD: patch-ae,v 1.3 2010/10/25 19:30:04 markd Exp $

Fix for CVE-2010-3704

--- kpdf/xpdf/fofi/FoFiType1.cc.orig	2007-05-14 07:39:30.000000000 +0000
+++ kpdf/xpdf/fofi/FoFiType1.cc
@@ -18,6 +18,14 @@
 #include "FoFiEncodings.h"
 #include "FoFiType1.h"
 
+#if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__)
+# define likely(x)      __builtin_expect((x), 1)
+# define unlikely(x)    __builtin_expect((x), 0)
+#else
+# define likely(x)      (x)
+# define unlikely(x)    (x)
+#endif
+
 //------------------------------------------------------------------------
 // FoFiType1
 //------------------------------------------------------------------------
@@ -224,7 +232,7 @@ void FoFiType1::parse() {
 		code = code * 8 + (*p2 - '0');
 	      }
 	    }
-	    if (code < 256) {
+	    if (likely(code < 256 && code >= 0)) {
 	      for (p = p2; *p == ' ' || *p == '\t'; ++p) ;
 	      if (*p == '/') {
 		++p;
