Pullup ticket #3586 - requested by tez
[pkgsrcv2.git] / print / xpdf / patches / patch-bd
1 $NetBSD$
2
3 Fix for CVE-2010-3704
4 from http://www.openbsd.org/cgi-bin/cvsweb/ports/textproc/xpdf/patches/patch-fofi_FoFiType1_cc?rev=1.1
5
6 --- fofi/FoFiType1.cc.orig      2010-10-13 14:51:21.493696100 -0500
7 +++ fofi/FoFiType1.cc   2010-10-13 14:58:20.655403000 -0500
8 @@ -18,6 +18,14 @@
9  #include "FoFiEncodings.h"
10  #include "FoFiType1.h"
11  
12 +#if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__)
13 +# define likely(x)      __builtin_expect((x), 1)
14 +# define unlikely(x)    __builtin_expect((x), 0)
15 +#else
16 +# define likely(x)      (x)
17 +# define unlikely(x)    (x)
18 +#endif
19 +
20  //------------------------------------------------------------------------
21  // FoFiType1
22  //------------------------------------------------------------------------
23 @@ -224,7 +232,7 @@
24                 code = code * 8 + (*p2 - '0');
25               }
26             }
27 -           if (code < 256) {
28 +           if (likely(code < 256 && code >= 0)) {
29               for (p = p2; *p == ' ' || *p == '\t'; ++p) ;
30               if (*p == '/') {
31                 ++p;