diff options
author | tez <tez@pkgsrc.org> | 2010-04-17 20:10:16 +0000 |
---|---|---|
committer | tez <tez@pkgsrc.org> | 2010-04-17 20:10:16 +0000 |
commit | 8c32a4526d6cd5966d89bcce26b710ca3c8ba320 (patch) | |
tree | c14086fab8cbfd8d5a9d7b4e3fef42ae9457c3fa /lang | |
parent | 5b3980eaeae63e70da74d65f416dc73d4d58955a (diff) | |
download | pkgsrc-8c32a4526d6cd5966d89bcce26b710ca3c8ba320.tar.gz |
CVE-2008-2371 pcro buffer overflow fix based on:
http://vcs.pcre.org/viewvc/code/trunk/pcre_compile.c?r1=504&r2=505&view=patch
Diffstat (limited to 'lang')
-rw-r--r-- | lang/erlang/Makefile | 4 | ||||
-rw-r--r-- | lang/erlang/distinfo | 3 | ||||
-rw-r--r-- | lang/erlang/patches/patch-ax | 34 |
3 files changed, 38 insertions, 3 deletions
diff --git a/lang/erlang/Makefile b/lang/erlang/Makefile index dc141170b3d..96f725a6525 100644 --- a/lang/erlang/Makefile +++ b/lang/erlang/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.44 2010/01/17 12:02:22 wiz Exp $ +# $NetBSD: Makefile,v 1.45 2010/04/17 20:10:16 tez Exp $ DISTNAME= otp_src_${DIST_VERSION_MAJOR}${DIST_VERSION_MINOR:D-${DIST_VERSION_MINOR}} PKGNAME= erlang-${ERLANG_VERSION} -PKGREVISION= 3 +PKGREVISION= 4 CATEGORIES= lang MASTER_SITES= http://www.erlang.org/download/ diff --git a/lang/erlang/distinfo b/lang/erlang/distinfo index f053ec16b0d..7ccba2c81c5 100644 --- a/lang/erlang/distinfo +++ b/lang/erlang/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.21 2009/12/18 23:33:19 asau Exp $ +$NetBSD: distinfo,v 1.22 2010/04/17 20:10:16 tez Exp $ SHA1 (erlang/otp_src_R13B03.tar.gz) = 161f22d498da244d4b32181a78b04d97523857d1 RMD160 (erlang/otp_src_R13B03.tar.gz) = 7cf3d1cf6cdf73ff19f5a416396c4024e641ec29 @@ -24,3 +24,4 @@ SHA1 (patch-at) = f0b8733b9ce3ac6c15274e83464499779ae25399 SHA1 (patch-au) = fe924a3306a278f51d10b1d2ad14432ec9f1428e SHA1 (patch-av) = 6f54c914d760145298036aeabf81735f91acdd06 SHA1 (patch-aw) = 38c5dbe389c0ec8e0bea16b99f56ddc1dc4c581e +SHA1 (patch-ax) = dac42b8768a8cbe5793d2a11f3ecdc7d384a1f77 diff --git a/lang/erlang/patches/patch-ax b/lang/erlang/patches/patch-ax new file mode 100644 index 00000000000..8e247e97943 --- /dev/null +++ b/lang/erlang/patches/patch-ax @@ -0,0 +1,34 @@ +$NetBSD: patch-ax,v 1.1 2010/04/17 20:10:16 tez Exp $ +CVE-2008-2371 pcro buffer overflow patch + +--- erts/emulator/pcre/pcre_compile.c.orig 2010-04-17 14:45:46.437030500 -0500 ++++ erts/emulator/pcre/pcre_compile.c 2010-04-17 14:48:54.644343400 -0500 +@@ -92,6 +92,10 @@ + + #define COMPILE_WORK_SIZE (4096) + ++/* The overrun tests check for a slightly smaller size so that they detect the ++overrun before it actually does run off the end of the data block. */ ++ ++#define WORK_SIZE_CHECK (COMPILE_WORK_SIZE - 100) + + /* Table for handling escaped characters in the range '0'-'z'. Positive returns + are simple data values; negative values are for special things like \d and so +@@ -2445,7 +2449,7 @@ + #ifdef DEBUG + if (code > cd->hwm) cd->hwm = code; /* High water info */ + #endif +- if (code > cd->start_workspace + COMPILE_WORK_SIZE) /* Check for overrun */ ++ if (code > cd->start_workspace + WORK_SIZE_CHECK) /* Check for overrun */ + { + *errorcodeptr = ERR52; + goto FAILED; +@@ -2494,7 +2498,7 @@ + /* In the real compile phase, just check the workspace used by the forward + reference list. */ + +- else if (cd->hwm > cd->start_workspace + COMPILE_WORK_SIZE) ++ else if (cd->hwm > cd->start_workspace + WORK_SIZE_CHECK) + { + *errorcodeptr = ERR52; + goto FAILED; |