summary refs log tree commit diff
path: root/pkgs/development/libraries/pcre
diff options
context:
space:
mode:
authorSamuel Leathers <sam@appliedtrust.com>2017-10-30 13:25:31 +0100
committerSamuel Leathers <sam@appliedtrust.com>2017-10-30 14:42:35 +0100
commit119ebee6a4f66d4e623e058e897bdd5928ba478b (patch)
treec331d9bdb143dd753e509a9c49cbe0eb5bf45e35 /pkgs/development/libraries/pcre
parentaa12eddb6c9683145160c4b75604a259478fef54 (diff)
downloadnixpkgs-119ebee6a4f66d4e623e058e897bdd5928ba478b.tar
nixpkgs-119ebee6a4f66d4e623e058e897bdd5928ba478b.tar.gz
nixpkgs-119ebee6a4f66d4e623e058e897bdd5928ba478b.tar.bz2
nixpkgs-119ebee6a4f66d4e623e058e897bdd5928ba478b.tar.lz
nixpkgs-119ebee6a4f66d4e623e058e897bdd5928ba478b.tar.xz
nixpkgs-119ebee6a4f66d4e623e058e897bdd5928ba478b.tar.zst
nixpkgs-119ebee6a4f66d4e623e058e897bdd5928ba478b.zip
pcre: 8.40 -> 8.41 (fixes multiple CVEs)
Diffstat (limited to 'pkgs/development/libraries/pcre')
-rw-r--r--pkgs/development/libraries/pcre/CVE-2017-7186.patch52
-rw-r--r--pkgs/development/libraries/pcre/default.nix6
2 files changed, 2 insertions, 56 deletions
diff --git a/pkgs/development/libraries/pcre/CVE-2017-7186.patch b/pkgs/development/libraries/pcre/CVE-2017-7186.patch
deleted file mode 100644
index e9e1997e47c..00000000000
--- a/pkgs/development/libraries/pcre/CVE-2017-7186.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- a/pcre_internal.h	2016/05/21 13:34:44	1649
-+++ b/pcre_internal.h	2017/02/24 17:30:30	1688
-@@ -2772,6 +2772,9 @@
- extern const pcre_uint16 PRIV(ucd_stage2)[];
- extern const pcre_uint32 PRIV(ucp_gentype)[];
- extern const pcre_uint32 PRIV(ucp_gbtable)[];
-+#ifdef COMPILE_PCRE32
-+extern const ucd_record  PRIV(dummy_ucd_record)[];
-+#endif
- #ifdef SUPPORT_JIT
- extern const int         PRIV(ucp_typerange)[];
- #endif
-@@ -2780,9 +2783,15 @@
- /* UCD access macros */
- 
- #define UCD_BLOCK_SIZE 128
--#define GET_UCD(ch) (PRIV(ucd_records) + \
-+#define REAL_GET_UCD(ch) (PRIV(ucd_records) + \
-         PRIV(ucd_stage2)[PRIV(ucd_stage1)[(int)(ch) / UCD_BLOCK_SIZE] * \
-         UCD_BLOCK_SIZE + (int)(ch) % UCD_BLOCK_SIZE])
-+        
-+#ifdef COMPILE_PCRE32
-+#define GET_UCD(ch) ((ch > 0x10ffff)? PRIV(dummy_ucd_record) : REAL_GET_UCD(ch))
-+#else
-+#define GET_UCD(ch) REAL_GET_UCD(ch)
-+#endif 
- 
- #define UCD_CHARTYPE(ch)    GET_UCD(ch)->chartype
- #define UCD_SCRIPT(ch)      GET_UCD(ch)->script
---- a/pcre_ucd.c	2014/06/19 07:51:39	1490
-+++ b/pcre_ucd.c	2017/02/24 17:30:30	1688
-@@ -38,6 +38,20 @@
- const pcre_uint32 PRIV(ucd_caseless_sets)[] = {0};
- #else
- 
-+/* If the 32-bit library is run in non-32-bit mode, character values
-+greater than 0x10ffff may be encountered. For these we set up a
-+special record. */
-+
-+#ifdef COMPILE_PCRE32
-+const ucd_record PRIV(dummy_ucd_record)[] = {{
-+  ucp_Common,    /* script */
-+  ucp_Cn,        /* type unassigned */
-+  ucp_gbOther,   /* grapheme break property */
-+  0,             /* case set */
-+  0,             /* other case */
-+  }};
-+#endif
-+
- /* When recompiling tables with a new Unicode version, please check the
- types in this structure definition from pcre_internal.h (the actual
- field names will be different):
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index d19410f735f..e6055151301 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -9,7 +9,7 @@ with stdenv.lib;
 assert elem variant [ null "cpp" "pcre16" "pcre32" ];
 
 let
-  version = "8.40";
+  version = "8.41";
   pname = if (variant == null) then "pcre"
     else  if (variant == "cpp") then "pcre-cpp"
     else  variant;
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${version}.tar.bz2";
-    sha256 = "1x7lpjn7jhk0n3sdvggxrlrhab8kkfjwl7qix0ypw9nlx8lpmqh0";
+    sha256 = "0c5m469p5pd7jip621ipq6hbgh7128lzh7xndllfgh77ban7wb76";
   };
 
   outputs = [ "bin" "dev" "out" "doc" "man" ];
@@ -31,8 +31,6 @@ in stdenv.mkDerivation rec {
   ]
     ++ optional (variant != null) "--enable-${variant}";
 
-  patches = [ ./CVE-2017-7186.patch ];
-
   buildInputs = optional (hostPlatform.libc == "msvcrt") windows.mingw_w64_pthreads;
 
   doCheck = !(with hostPlatform; isCygwin || isFreeBSD) && hostPlatform == buildPlatform;