summaryrefslogtreecommitdiff
path: root/print/ghostscript7-x11/files/patch-src-zarith.c
diff options
context:
space:
mode:
authorHiroki Sato <hrs@FreeBSD.org>2015-08-22 17:48:35 +0000
committerHiroki Sato <hrs@FreeBSD.org>2015-08-22 17:48:35 +0000
commit27470e1676e69455acf06ae25ebd42ebd5bdecdb (patch)
tree445c3e315f03aa972de87391f921c655e4634f60 /print/ghostscript7-x11/files/patch-src-zarith.c
parentRemove textproc/prosper. The latest version is included in (diff)
- Split ghostscript into X11-independent and -dependent parts:
* print/ghostscript{7,8,9,9-agpl}-base Installs Ghostscript binary, libgs, and related files. These ports do not depend on X11 libraries (i.e. x11* devices are not available). USES=ghostscript will set dependency on one of them depending on GHOSTSCRIPT_DEFAULT. The default device is set to "display" or "bbox". * print/ghostscript{7,8,9,9-agpl}-x11 Installs a shared library which provides X11 support to the installed Ghostscript binaries. x11* devices will be enabled when the library is available. This depends on *-base (RUN_DEPENDS). USES=ghostscript:x11 will set dependency on one of them. - Fix integer overflow reported as CVE-2015-3228. - Update Uses/ghostscript.mk: * Add x11 keyword. nox11 keyword is now obsolete. * Use packagename in *_DEPENDS line to prevent relationship between -base and -x11 packages from being broken. - Fix x11/nox11 keyword and bump PORTREVISION in ports using USES=ghostscript to update dependency of pre-compiled packages.
Notes
Notes: svn path=/head/; revision=395047
Diffstat (limited to 'print/ghostscript7-x11/files/patch-src-zarith.c')
-rw-r--r--print/ghostscript7-x11/files/patch-src-zarith.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/print/ghostscript7-x11/files/patch-src-zarith.c b/print/ghostscript7-x11/files/patch-src-zarith.c
new file mode 100644
index 000000000000..582f61e8f144
--- /dev/null
+++ b/print/ghostscript7-x11/files/patch-src-zarith.c
@@ -0,0 +1,48 @@
+--- src/zarith.c.orig 2013-04-30 11:07:41.000000000 +0900
++++ src/zarith.c 2013-04-30 11:08:43.000000000 +0900
+@@ -32,9 +32,9 @@
+ */
+
+ /* Define max and min values for what will fit in value.intval. */
+-#define MIN_INTVAL min_long
+-#define MAX_INTVAL max_long
+-#define MAX_HALF_INTVAL ((1L << (size_of(long) * 4 - 1)) - 1)
++#define MIN_INTVAL 0x80000000
++#define MAX_INTVAL 0x7fffffff
++#define MAX_HALF_INTVAL 0x7fff
+
+ /* <num1> <num2> add <sum> */
+ /* We make this into a separate procedure because */
+@@ -64,7 +64,7 @@
+ op[-1].value.realval += (double)op->value.intval;
+ break;
+ case t_integer: {
+- long int2 = op->value.intval;
++ int int2 = op->value.intval;
+
+ if (((op[-1].value.intval += int2) ^ int2) < 0 &&
+ ((op[-1].value.intval - int2) ^ int2) >= 0
+@@ -158,10 +158,10 @@
+ op[-1].value.realval *= (double)op->value.intval;
+ break;
+ case t_integer: {
+- long int1 = op[-1].value.intval;
+- long int2 = op->value.intval;
+- long abs1 = (int1 >= 0 ? int1 : -int1);
+- long abs2 = (int2 >= 0 ? int2 : -int2);
++ int int1 = op[-1].value.intval;
++ int int2 = op->value.intval;
++ uint abs1 = (uint)(int1 >= 0 ? int1 : -int1);
++ uint abs2 = (uint)(int2 >= 0 ? int2 : -int2);
+ float fprod;
+
+ if ((abs1 > MAX_HALF_INTVAL || abs2 > MAX_HALF_INTVAL) &&
+@@ -212,7 +212,7 @@
+ op[-1].value.realval -= (double)op->value.intval;
+ break;
+ case t_integer: {
+- long int1 = op[-1].value.intval;
++ int int1 = op[-1].value.intval;
+
+ if ((int1 ^ (op[-1].value.intval = int1 - op->value.intval)) < 0 &&
+ (int1 ^ op->value.intval) < 0