8.41 RC1 bump
This commit is contained in:
		
							parent
							
								
									a82fb773cc
								
							
						
					
					
						commit
						cc814f7bdb
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -28,3 +28,4 @@ pcre-8.10.tar.bz2 | |||||||
| /pcre-8.39.tar.bz2 | /pcre-8.39.tar.bz2 | ||||||
| /pcre-8.40-RC1.tar.bz2 | /pcre-8.40-RC1.tar.bz2 | ||||||
| /pcre-8.40.tar.bz2 | /pcre-8.40.tar.bz2 | ||||||
|  | /pcre-8.41-RC1.tar.bz2 | ||||||
|  | |||||||
| @ -1,54 +0,0 @@ | |||||||
| From 686660568dde71f9a7f8791cbb8a77702b3ea820 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> |  | ||||||
| Date: Wed, 22 Feb 2017 17:37:47 +0000 |  | ||||||
| Subject: [PATCH] Check character < 256 for isprint() in pcretest. |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1685 2f5784b3-3f2a-0410-8824-cb99058d5e15 |  | ||||||
| 
 |  | ||||||
| Petr Písař: Ported to 8.40. |  | ||||||
| 
 |  | ||||||
| diff --git a/pcretest.c b/pcretest.c
 |  | ||||||
| index 5b73a91..797f99c 100644
 |  | ||||||
| --- a/pcretest.c
 |  | ||||||
| +++ b/pcretest.c
 |  | ||||||
| @@ -177,7 +177,7 @@ that differ in their output from isprint() even in the "C" locale. */
 |  | ||||||
|  #define PRINTABLE(c) ((c) >= 32 && (c) < 127) |  | ||||||
|  #endif |  | ||||||
|   |  | ||||||
| -#define PRINTOK(c) (locale_set? isprint(c) : PRINTABLE(c))
 |  | ||||||
| +#define PRINTOK(c) (locale_set? (((c) < 256) && isprint(c)) : PRINTABLE(c))
 |  | ||||||
|   |  | ||||||
|  /* Posix support is disabled in 16 or 32 bit only mode. */ |  | ||||||
|  #if !defined SUPPORT_PCRE8 && !defined NOPOSIX |  | ||||||
| diff --git a/testdata/testinput15 b/testdata/testinput15
 |  | ||||||
| index 83e2677..c065105 100644
 |  | ||||||
| --- a/testdata/testinput15
 |  | ||||||
| +++ b/testdata/testinput15
 |  | ||||||
| @@ -363,4 +363,7 @@ correctly, but that messes up comparisons). --/
 |  | ||||||
|   |  | ||||||
|  /abc/89 |  | ||||||
|   |  | ||||||
| +//8+L
 |  | ||||||
| +    \xf1\xad\xae\xae
 |  | ||||||
| +
 |  | ||||||
|  /-- End of testinput15 --/ |  | ||||||
| diff --git a/testdata/testoutput15 b/testdata/testoutput15
 |  | ||||||
| index bad2807..e4e123c 100644
 |  | ||||||
| --- a/testdata/testoutput15
 |  | ||||||
| +++ b/testdata/testoutput15
 |  | ||||||
| @@ -1136,4 +1136,9 @@ Failed: setting UTF is disabled by the application at offset 0
 |  | ||||||
|  /abc/89 |  | ||||||
|  Failed: setting UTF is disabled by the application at offset 0 |  | ||||||
|   |  | ||||||
| +//8+L
 |  | ||||||
| +    \xf1\xad\xae\xae
 |  | ||||||
| + 0: 
 |  | ||||||
| + 0+ \x{6dbae}
 |  | ||||||
| +
 |  | ||||||
|  /-- End of testinput15 --/ |  | ||||||
| -- 
 |  | ||||||
| 2.7.4 |  | ||||||
| 
 |  | ||||||
| @ -1,73 +0,0 @@ | |||||||
| From dcee2708b5d37437fda9dbd07ccac6c9badd6892 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> |  | ||||||
| Date: Fri, 10 Feb 2017 17:47:34 +0000 |  | ||||||
| Subject: [PATCH] Correct fix for pcre2grep multiline with --only-matching. |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| This is series of two patches ported to 8.40: |  | ||||||
| 
 |  | ||||||
| commit 5be027b624bc866702808abadfe5f99360414086 |  | ||||||
| Author: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> |  | ||||||
| Date:   Fri Feb 10 17:47:34 2017 +0000 |  | ||||||
| 
 |  | ||||||
|     Correct fix for pcre2grep multiline with --only-matching. |  | ||||||
| 
 |  | ||||||
|     git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1678 2f5784b3-3f2a-0410-8824-cb99058d5e15 |  | ||||||
| 
 |  | ||||||
| commit 8b0fdf16e57ce9a653a0a03c39f6cc061e8122e8 |  | ||||||
| Author: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> |  | ||||||
| Date:   Sun Feb 12 13:28:11 2017 +0000 |  | ||||||
| 
 |  | ||||||
|     Fix bug in most recent fix for multiline pcre2grep. |  | ||||||
| 
 |  | ||||||
|     git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1679 2f5784b3-3f2a-0410-8824-cb99058d5e15 |  | ||||||
| 
 |  | ||||||
| Signed-off-by: Petr Písař <ppisar@redhat.com> |  | ||||||
| ---
 |  | ||||||
|  pcregrep.c | 21 ++++++++++++++++----- |  | ||||||
|  1 file changed, 16 insertions(+), 5 deletions(-) |  | ||||||
| 
 |  | ||||||
| diff --git a/pcregrep.c b/pcregrep.c
 |  | ||||||
| index fd2a676..3cd70ee 100644
 |  | ||||||
| --- a/pcregrep.c
 |  | ||||||
| +++ b/pcregrep.c
 |  | ||||||
| @@ -1804,11 +1804,6 @@ while (ptr < endptr)
 |  | ||||||
|          if (line_buffered) fflush(stdout); |  | ||||||
|          rc = 0;                      /* Had some success */ |  | ||||||
|   |  | ||||||
| -        /* If the current match ended past the end of the line (only possible
 |  | ||||||
| -        in multiline mode), we are done with this line. */
 |  | ||||||
| -
 |  | ||||||
| -        if ((unsigned int)offsets[1] > linelength) goto END_ONE_MATCH;
 |  | ||||||
| -
 |  | ||||||
|          startoffset = offsets[1];    /* Restart after the match */ |  | ||||||
|          if (startoffset <= oldstartoffset) |  | ||||||
|            { |  | ||||||
| @@ -1818,6 +1813,22 @@ while (ptr < endptr)
 |  | ||||||
|            if (utf8) |  | ||||||
|              while ((matchptr[startoffset] & 0xc0) == 0x80) startoffset++; |  | ||||||
|            } |  | ||||||
| +
 |  | ||||||
| +        /* If the current match ended past the end of the line (only possible
 |  | ||||||
| +        in multiline mode), we must move on to the line in which it did end
 |  | ||||||
| +        before searching for more matches. */                                
 |  | ||||||
| +                                                          
 |  | ||||||
| +        while (startoffset > (int)linelength)
 |  | ||||||
| +          {                                                                  
 |  | ||||||
| +          matchptr = ptr += linelength + endlinelength;                      
 |  | ||||||
| +          filepos += (int)(linelength + endlinelength);                        
 |  | ||||||
| +          linenumber++;                    
 |  | ||||||
| +          startoffset -= (int)(linelength + endlinelength);
 |  | ||||||
| +          t = end_of_line(ptr, endptr, &endlinelength);
 |  | ||||||
| +          linelength = t - ptr - endlinelength;
 |  | ||||||
| +          length = (size_t)(endptr - ptr); 
 |  | ||||||
| +          }              
 |  | ||||||
| +
 |  | ||||||
|          goto ONLY_MATCHING_RESTART; |  | ||||||
|          } |  | ||||||
|        } |  | ||||||
| -- 
 |  | ||||||
| 2.7.4 |  | ||||||
| 
 |  | ||||||
| @ -1,67 +0,0 @@ | |||||||
| From 881b9580da401953f2a94b42cb9cc275b4719341 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> |  | ||||||
| Date: Wed, 22 Mar 2017 15:17:45 +0000 |  | ||||||
| Subject: [PATCH] Fix DFA match handling of possessive repeated character class |  | ||||||
|  (Bugzilla 2086). |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1689 2f5784b3-3f2a-0410-8824-cb99058d5e15 |  | ||||||
| 
 |  | ||||||
| Petr Písař: Ported to 8.40. |  | ||||||
| ---
 |  | ||||||
|  pcre_dfa_exec.c      | 4 ++-- |  | ||||||
|  testdata/testinput8  | 3 +++ |  | ||||||
|  testdata/testoutput8 | 4 ++++ |  | ||||||
| 
 |  | ||||||
| diff --git a/pcre_dfa_exec.c b/pcre_dfa_exec.c
 |  | ||||||
| index 170ce6a..bc09ced 100644
 |  | ||||||
| --- a/pcre_dfa_exec.c
 |  | ||||||
| +++ b/pcre_dfa_exec.c
 |  | ||||||
| @@ -7,7 +7,7 @@ and semantics are as close as possible to those of the Perl 5 language (but see
 |  | ||||||
|  below for why this module is different). |  | ||||||
|   |  | ||||||
|                         Written by Philip Hazel |  | ||||||
| -           Copyright (c) 1997-2014 University of Cambridge
 |  | ||||||
| +           Copyright (c) 1997-2017 University of Cambridge
 |  | ||||||
|   |  | ||||||
|  ----------------------------------------------------------------------------- |  | ||||||
|  Redistribution and use in source and binary forms, with or without |  | ||||||
| @@ -2625,7 +2625,7 @@ for (;;)
 |  | ||||||
|            if (isinclass) |  | ||||||
|              { |  | ||||||
|              int max = (int)GET2(ecode, 1 + IMM2_SIZE); |  | ||||||
| -            if (*ecode == OP_CRPOSRANGE)
 |  | ||||||
| +            if (*ecode == OP_CRPOSRANGE && count >= (int)GET2(ecode, 1))
 |  | ||||||
|                { |  | ||||||
|                active_count--;           /* Remove non-match possibility */ |  | ||||||
|                next_active_state--; |  | ||||||
| diff --git a/testdata/testinput8 b/testdata/testinput8
 |  | ||||||
| index 7f8fa82..e931410 100644
 |  | ||||||
| --- a/testdata/testinput8
 |  | ||||||
| +++ b/testdata/testinput8
 |  | ||||||
| @@ -4845,4 +4845,7 @@
 |  | ||||||
|      aaa\D |  | ||||||
|      a\D |  | ||||||
|   |  | ||||||
| +/(02-)?[0-9]{3}-[0-9]{3}/
 |  | ||||||
| +    02-123-123
 |  | ||||||
| +
 |  | ||||||
|  /-- End of testinput8 --/ |  | ||||||
| diff --git a/testdata/testoutput8 b/testdata/testoutput8
 |  | ||||||
| index 17b667a..4984376 100644
 |  | ||||||
| --- a/testdata/testoutput8
 |  | ||||||
| +++ b/testdata/testoutput8
 |  | ||||||
| @@ -7801,4 +7801,8 @@ No match
 |  | ||||||
|  ** Show all captures ignored after DFA matching |  | ||||||
|   0: a |  | ||||||
|   |  | ||||||
| +/(02-)?[0-9]{3}-[0-9]{3}/
 |  | ||||||
| +    02-123-123
 |  | ||||||
| + 0: 02-123-123
 |  | ||||||
| +
 |  | ||||||
|  /-- End of testinput8 --/ |  | ||||||
| -- 
 |  | ||||||
| 2.7.4 |  | ||||||
| 
 |  | ||||||
| @ -1,72 +0,0 @@ | |||||||
| From 8037f71d03b3cd8919248f38448a0a2d3715c18c Mon Sep 17 00:00:00 2001 |  | ||||||
| From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> |  | ||||||
| Date: Fri, 24 Feb 2017 17:30:30 +0000 |  | ||||||
| Subject: [PATCH] Fix Unicode property crash for 32-bit characters greater than |  | ||||||
|  0x10ffff. |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1688 2f5784b3-3f2a-0410-8824-cb99058d5e15 |  | ||||||
| 
 |  | ||||||
| Petr Písař: Ported to 8.40. |  | ||||||
| 
 |  | ||||||
| diff --git a/pcre_internal.h b/pcre_internal.h
 |  | ||||||
| index 2923b29..154d3f6 100644
 |  | ||||||
| --- a/pcre_internal.h
 |  | ||||||
| +++ b/pcre_internal.h
 |  | ||||||
| @@ -2772,6 +2772,9 @@ extern const pcre_uint8  PRIV(ucd_stage1)[];
 |  | ||||||
|  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 @@ extern const int         PRIV(ucp_typerange)[];
 |  | ||||||
|  /* 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 |  | ||||||
| diff --git a/pcre_ucd.c b/pcre_ucd.c
 |  | ||||||
| index 69c4fd4..f22f826 100644
 |  | ||||||
| --- a/pcre_ucd.c
 |  | ||||||
| +++ b/pcre_ucd.c
 |  | ||||||
| @@ -38,6 +38,20 @@ const pcre_uint16 PRIV(ucd_stage2)[] = {0};
 |  | ||||||
|  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): |  | ||||||
| -- 
 |  | ||||||
| 2.7.4 |  | ||||||
| 
 |  | ||||||
| @ -1,64 +0,0 @@ | |||||||
| From ad21e1941bfe5d5c8d8474028139343f884bf28c Mon Sep 17 00:00:00 2001 |  | ||||||
| From: zherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15> |  | ||||||
| Date: Tue, 14 Feb 2017 08:48:18 +0000 |  | ||||||
| Subject: [PATCH] Fix a missing else in the JIT compiler reported by |  | ||||||
|  'idaifish'. |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| Petr Pisar: Ported to 8.40: |  | ||||||
| 
 |  | ||||||
| commit 7ddfbe9d0b9f43402f8043e940172a318cc407c6 |  | ||||||
| Author: zherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15> |  | ||||||
| Date:   Tue Feb 14 08:48:18 2017 +0000 |  | ||||||
| 
 |  | ||||||
|     Fix a missing else in the JIT compiler reported by 'idaifish'. |  | ||||||
| 
 |  | ||||||
|     git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1680 2f5784b3-3f2a-0410-8824-cb99058d5e15 |  | ||||||
| 
 |  | ||||||
| Signed-off-by: Petr Písař <ppisar@redhat.com> |  | ||||||
| ---
 |  | ||||||
|  pcre_jit_compile.c    | 2 +- |  | ||||||
|  testdata/testinput12  | 2 ++ |  | ||||||
|  testdata/testoutput12 | 2 ++ |  | ||||||
|  3 files changed, 5 insertions(+), 1 deletion(-) |  | ||||||
| 
 |  | ||||||
| diff --git a/pcre_jit_compile.c b/pcre_jit_compile.c
 |  | ||||||
| index 46ce6c6..a6e2ad5 100644
 |  | ||||||
| --- a/pcre_jit_compile.c
 |  | ||||||
| +++ b/pcre_jit_compile.c
 |  | ||||||
| @@ -8111,7 +8111,7 @@ if (opcode == OP_COND || opcode == OP_SCOND)
 |  | ||||||
|   |  | ||||||
|      if (*matchingpath == OP_FAIL) |  | ||||||
|        stacksize = 0; |  | ||||||
| -    if (*matchingpath == OP_RREF)
 |  | ||||||
| +    else if (*matchingpath == OP_RREF)
 |  | ||||||
|        { |  | ||||||
|        stacksize = GET2(matchingpath, 1); |  | ||||||
|        if (common->currententry == NULL) |  | ||||||
| diff --git a/testdata/testinput12 b/testdata/testinput12
 |  | ||||||
| index 944be69..89ed456 100644
 |  | ||||||
| --- a/testdata/testinput12
 |  | ||||||
| +++ b/testdata/testinput12
 |  | ||||||
| @@ -104,4 +104,6 @@ and a couple of things that are different with JIT. --/
 |  | ||||||
|  /(.|.)*?bx/ |  | ||||||
|      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabax |  | ||||||
|   |  | ||||||
| +/((?(?!))x)(?'name')(?1)/S++
 |  | ||||||
| +
 |  | ||||||
|  /-- End of testinput12 --/ |  | ||||||
| diff --git a/testdata/testoutput12 b/testdata/testoutput12
 |  | ||||||
| index 8791108..7632c4e 100644
 |  | ||||||
| --- a/testdata/testoutput12
 |  | ||||||
| +++ b/testdata/testoutput12
 |  | ||||||
| @@ -201,4 +201,6 @@ No match, mark = m (JIT)
 |  | ||||||
|      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabax |  | ||||||
|  Error -8 (match limit exceeded) |  | ||||||
|   |  | ||||||
| +/((?(?!))x)(?'name')(?1)/S++
 |  | ||||||
| +
 |  | ||||||
|  /-- End of testinput12 --/ |  | ||||||
| -- 
 |  | ||||||
| 2.7.4 |  | ||||||
| 
 |  | ||||||
| @ -1,78 +0,0 @@ | |||||||
| From 3b8f1ab07fb1744c57f5d04c872e81d8d669de87 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: zherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15> |  | ||||||
| Date: Fri, 31 Mar 2017 05:41:17 +0000 |  | ||||||
| Subject: [PATCH] Fix character type detection when 32-bit and UCP are enabled |  | ||||||
|  but UTF is not in JIT. |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1693 2f5784b3-3f2a-0410-8824-cb99058d5e15 |  | ||||||
| Signed-off-by: Petr Písař <ppisar@redhat.com> |  | ||||||
| ---
 |  | ||||||
|  pcre_jit_compile.c | 31 +++++++++++++++++++++++++++++++ |  | ||||||
|  1 file changed, 31 insertions(+) |  | ||||||
| 
 |  | ||||||
| diff --git a/pcre_jit_compile.c b/pcre_jit_compile.c
 |  | ||||||
| index 1a8ce1e..c9db7ee 100644
 |  | ||||||
| --- a/pcre_jit_compile.c
 |  | ||||||
| +++ b/pcre_jit_compile.c
 |  | ||||||
| @@ -559,6 +559,8 @@ the start pointers when the end of the capturing group has not yet reached. */
 |  | ||||||
|   |  | ||||||
|  #define READ_CHAR_MAX 0x7fffffff |  | ||||||
|   |  | ||||||
| +#define INVALID_UTF_CHAR 888
 |  | ||||||
| +
 |  | ||||||
|  static pcre_uchar *bracketend(pcre_uchar *cc) |  | ||||||
|  { |  | ||||||
|  SLJIT_ASSERT((*cc >= OP_ASSERT && *cc <= OP_ASSERTBACK_NOT) || (*cc >= OP_ONCE && *cc <= OP_SCOND)); |  | ||||||
| @@ -3277,10 +3279,30 @@ static void do_getucd(compiler_common *common)
 |  | ||||||
|  /* Search the UCD record for the character comes in TMP1. |  | ||||||
|  Returns chartype in TMP1 and UCD offset in TMP2. */ |  | ||||||
|  DEFINE_COMPILER; |  | ||||||
| +#ifdef COMPILE_PCRE32
 |  | ||||||
| +struct sljit_jump *jump;
 |  | ||||||
| +#endif
 |  | ||||||
| +
 |  | ||||||
| +#if defined SLJIT_DEBUG && SLJIT_DEBUG
 |  | ||||||
| +/* dummy_ucd_record */
 |  | ||||||
| +const ucd_record *record = GET_UCD(INVALID_UTF_CHAR);
 |  | ||||||
| +SLJIT_ASSERT(record->script == ucp_Common && record->chartype == ucp_Cn && record->gbprop == ucp_gbOther);
 |  | ||||||
| +SLJIT_ASSERT(record->caseset == 0 && record->other_case == 0);
 |  | ||||||
| +#endif
 |  | ||||||
|   |  | ||||||
|  SLJIT_ASSERT(UCD_BLOCK_SIZE == 128 && sizeof(ucd_record) == 8); |  | ||||||
|   |  | ||||||
|  sljit_emit_fast_enter(compiler, RETURN_ADDR, 0); |  | ||||||
| +
 |  | ||||||
| +#ifdef COMPILE_PCRE32
 |  | ||||||
| +if (!common->utf)
 |  | ||||||
| +  {
 |  | ||||||
| +  jump = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x10ffff + 1);
 |  | ||||||
| +  OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR);
 |  | ||||||
| +  JUMPHERE(jump);
 |  | ||||||
| +  }
 |  | ||||||
| +#endif
 |  | ||||||
| +
 |  | ||||||
|  OP2(SLJIT_LSHR, TMP2, 0, TMP1, 0, SLJIT_IMM, UCD_BLOCK_SHIFT); |  | ||||||
|  OP1(SLJIT_MOV_U8, TMP2, 0, SLJIT_MEM1(TMP2), (sljit_sw)PRIV(ucd_stage1)); |  | ||||||
|  OP2(SLJIT_AND, TMP1, 0, TMP1, 0, SLJIT_IMM, UCD_BLOCK_MASK); |  | ||||||
| @@ -5636,6 +5658,15 @@ if (needstype || needsscript)
 |  | ||||||
|    if (needschar && !charsaved) |  | ||||||
|      OP1(SLJIT_MOV, RETURN_ADDR, 0, TMP1, 0); |  | ||||||
|   |  | ||||||
| +#ifdef COMPILE_PCRE32
 |  | ||||||
| +  if (!common->utf)
 |  | ||||||
| +    {
 |  | ||||||
| +    jump = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x10ffff + 1);
 |  | ||||||
| +    OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR);
 |  | ||||||
| +    JUMPHERE(jump);
 |  | ||||||
| +    }
 |  | ||||||
| +#endif
 |  | ||||||
| +
 |  | ||||||
|    OP2(SLJIT_LSHR, TMP2, 0, TMP1, 0, SLJIT_IMM, UCD_BLOCK_SHIFT); |  | ||||||
|    OP1(SLJIT_MOV_U8, TMP2, 0, SLJIT_MEM1(TMP2), (sljit_sw)PRIV(ucd_stage1)); |  | ||||||
|    OP2(SLJIT_AND, TMP1, 0, TMP1, 0, SLJIT_IMM, UCD_BLOCK_MASK); |  | ||||||
| -- 
 |  | ||||||
| 2.7.4 |  | ||||||
| 
 |  | ||||||
| @ -1,67 +0,0 @@ | |||||||
| From 63f1aabcabdc7ace28c649657fe2a4f880a87c5a Mon Sep 17 00:00:00 2001 |  | ||||||
| From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> |  | ||||||
| Date: Mon, 20 Feb 2017 17:45:21 +0000 |  | ||||||
| Subject: [PATCH] Fix recognition of (?# style comment between quantifier and |  | ||||||
|  '+' or '?'. |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1682 2f5784b3-3f2a-0410-8824-cb99058d5e15 |  | ||||||
| 
 |  | ||||||
| Petr Písař: Ported to 8.40. |  | ||||||
| 
 |  | ||||||
| diff --git a/pcre_compile.c b/pcre_compile.c
 |  | ||||||
| index de92313..c787813 100644
 |  | ||||||
| --- a/pcre_compile.c
 |  | ||||||
| +++ b/pcre_compile.c
 |  | ||||||
| @@ -5739,6 +5739,21 @@ for (;; ptr++)
 |  | ||||||
|        ptr = p - 1;    /* Character before the next significant one. */ |  | ||||||
|        } |  | ||||||
|   |  | ||||||
| +    /* We also need to skip over (?# comments, which are not dependent on 
 |  | ||||||
| +    extended mode. */
 |  | ||||||
| +    
 |  | ||||||
| +    if (ptr[1] == CHAR_LEFT_PARENTHESIS && ptr[2] == CHAR_QUESTION_MARK &&
 |  | ||||||
| +        ptr[3] == CHAR_NUMBER_SIGN)
 |  | ||||||
| +      {
 |  | ||||||
| +      ptr += 4;
 |  | ||||||
| +      while (*ptr != CHAR_NULL && *ptr != CHAR_RIGHT_PARENTHESIS) ptr++;
 |  | ||||||
| +      if (*ptr == CHAR_NULL)
 |  | ||||||
| +        {
 |  | ||||||
| +        *errorcodeptr = ERR18;
 |  | ||||||
| +        goto FAILED;
 |  | ||||||
| +        }
 |  | ||||||
| +      }
 |  | ||||||
| +
 |  | ||||||
|      /* If the next character is '+', we have a possessive quantifier. This |  | ||||||
|      implies greediness, whatever the setting of the PCRE_UNGREEDY option. |  | ||||||
|      If the next character is '?' this is a minimizing repeat, by default, |  | ||||||
| diff --git a/testdata/testinput1 b/testdata/testinput1
 |  | ||||||
| index 93abab3..5c23f41 100644
 |  | ||||||
| --- a/testdata/testinput1
 |  | ||||||
| +++ b/testdata/testinput1
 |  | ||||||
| @@ -5739,4 +5739,7 @@ AbcdCBefgBhiBqz
 |  | ||||||
|  /(?=.*X)X$/  |  | ||||||
|      \  X |  | ||||||
|        |  | ||||||
| +/X+(?#comment)?/
 |  | ||||||
| +    >XXX<
 |  | ||||||
| +
 |  | ||||||
|  /-- End of testinput1 --/ |  | ||||||
| diff --git a/testdata/testoutput1 b/testdata/testoutput1
 |  | ||||||
| index a2b3cff..eff8ecc 100644
 |  | ||||||
| --- a/testdata/testoutput1
 |  | ||||||
| +++ b/testdata/testoutput1
 |  | ||||||
| @@ -9442,4 +9442,8 @@ No match
 |  | ||||||
|      \  X |  | ||||||
|   0: X |  | ||||||
|        |  | ||||||
| +/X+(?#comment)?/
 |  | ||||||
| +    >XXX<
 |  | ||||||
| + 0: X
 |  | ||||||
| +
 |  | ||||||
|  /-- End of testinput1 --/ |  | ||||||
| -- 
 |  | ||||||
| 2.7.4 |  | ||||||
| 
 |  | ||||||
| @ -1,36 +0,0 @@ | |||||||
| From b2f1496a36e68565421bd21485605d6af2a5819f Mon Sep 17 00:00:00 2001 |  | ||||||
| From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> |  | ||||||
| Date: Mon, 27 Mar 2017 16:00:16 +0000 |  | ||||||
| Subject: [PATCH] Fix typo (leading to possible buffer overflow in |  | ||||||
|  pcre_copy_substring()) in pcretest. |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1691 2f5784b3-3f2a-0410-8824-cb99058d5e15 |  | ||||||
| 
 |  | ||||||
| Petr Písař: Ported to 8.40. |  | ||||||
| ---
 |  | ||||||
|  pcretest.c | 4 ++-- |  | ||||||
| 
 |  | ||||||
| diff --git a/pcretest.c b/pcretest.c
 |  | ||||||
| index 0a153be..26578e1 100644
 |  | ||||||
| --- a/pcretest.c
 |  | ||||||
| +++ b/pcretest.c
 |  | ||||||
| @@ -426,11 +426,11 @@ argument, the casting might be incorrectly applied. */
 |  | ||||||
|  #define PCRE_COPY_NAMED_SUBSTRING32(rc, re, bptr, offsets, count, \ |  | ||||||
|      namesptr, cbuffer, size) \ |  | ||||||
|    rc = pcre32_copy_named_substring((pcre32 *)re, (PCRE_SPTR32)bptr, offsets, \ |  | ||||||
| -    count, (PCRE_SPTR32)namesptr, (PCRE_UCHAR32 *)cbuffer, size/2)
 |  | ||||||
| +    count, (PCRE_SPTR32)namesptr, (PCRE_UCHAR32 *)cbuffer, size/4)
 |  | ||||||
|   |  | ||||||
|  #define PCRE_COPY_SUBSTRING32(rc, bptr, offsets, count, i, cbuffer, size) \ |  | ||||||
|    rc = pcre32_copy_substring((PCRE_SPTR32)bptr, offsets, count, i, \ |  | ||||||
| -    (PCRE_UCHAR32 *)cbuffer, size/2)
 |  | ||||||
| +    (PCRE_UCHAR32 *)cbuffer, size/4)
 |  | ||||||
|   |  | ||||||
|  #define PCRE_DFA_EXEC32(count, re, extra, bptr, len, start_offset, options, \ |  | ||||||
|      offsets, size_offsets, workspace, size_workspace) \ |  | ||||||
| -- 
 |  | ||||||
| 2.7.4 |  | ||||||
| 
 |  | ||||||
| @ -1,37 +0,0 @@ | |||||||
| From 312dd5d85714f73c247131b541405cf0bf24581b Mon Sep 17 00:00:00 2001 |  | ||||||
| From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> |  | ||||||
| Date: Thu, 23 Feb 2017 16:24:08 +0000 |  | ||||||
| Subject: [PATCH] Make pcretest check size of \O argument. |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1686 2f5784b3-3f2a-0410-8824-cb99058d5e15 |  | ||||||
| 
 |  | ||||||
| Petr Písař: Ported to 8.40. |  | ||||||
| 
 |  | ||||||
| diff --git a/pcretest.c b/pcretest.c
 |  | ||||||
| index 797f99c..0a153be 100644
 |  | ||||||
| --- a/pcretest.c
 |  | ||||||
| +++ b/pcretest.c
 |  | ||||||
| @@ -4834,7 +4834,16 @@ while (!done)
 |  | ||||||
|          continue; |  | ||||||
|   |  | ||||||
|          case 'O': |  | ||||||
| -        while(isdigit(*p)) n = n * 10 + *p++ - '0';
 |  | ||||||
| +        while(isdigit(*p)) 
 |  | ||||||
| +          {
 |  | ||||||
| +          if (n > (INT_MAX-10)/10)   /* Hack to stop fuzzers */
 |  | ||||||
| +            {
 |  | ||||||
| +            printf("** \\O argument is too big\n");
 |  | ||||||
| +            yield = 1;
 |  | ||||||
| +            goto EXIT;   
 |  | ||||||
| +            }  
 |  | ||||||
| +          n = n * 10 + *p++ - '0';
 |  | ||||||
| +          } 
 |  | ||||||
|          if (n > size_offsets_max) |  | ||||||
|            { |  | ||||||
|            size_offsets_max = n; |  | ||||||
| -- 
 |  | ||||||
| 2.7.4 |  | ||||||
| 
 |  | ||||||
| @ -1,39 +0,0 @@ | |||||||
| From e7991eb5273b5b4162656f4b3d32e68a7430805a Mon Sep 17 00:00:00 2001 |  | ||||||
| From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> |  | ||||||
| Date: Thu, 23 Feb 2017 17:25:44 +0000 |  | ||||||
| Subject: [PATCH] Minor doc update. |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1687 2f5784b3-3f2a-0410-8824-cb99058d5e15 |  | ||||||
| 
 |  | ||||||
| Petr Písař: Ported to 8.40. |  | ||||||
| 
 |  | ||||||
| diff --git a/doc/pcretest.1 b/doc/pcretest.1
 |  | ||||||
| index 92640da..1b89071 100644
 |  | ||||||
| --- a/doc/pcretest.1
 |  | ||||||
| +++ b/doc/pcretest.1
 |  | ||||||
| @@ -50,6 +50,10 @@ newline as data characters. However, in some Windows environments character 26
 |  | ||||||
|  (hex 1A) causes an immediate end of file, and no further data is read. For |  | ||||||
|  maximum portability, therefore, it is safest to use only ASCII characters in |  | ||||||
|  \fBpcretest\fP input files. |  | ||||||
| +.P
 |  | ||||||
| +The input is processed using using C's string functions, so must not          
 |  | ||||||
| +contain binary zeroes, even though in Unix-like environments, \fBfgets()\fP
 |  | ||||||
| +treats any bytes other than newline as data characters.
 |  | ||||||
|  . |  | ||||||
|  . |  | ||||||
|  .SH "PCRE's 8-BIT, 16-BIT AND 32-BIT LIBRARIES" |  | ||||||
| @@ -1151,6 +1155,6 @@ Cambridge CB2 3QH, England.
 |  | ||||||
|  .rs |  | ||||||
|  .sp |  | ||||||
|  .nf |  | ||||||
| -Last updated: 09 February 2014
 |  | ||||||
| -Copyright (c) 1997-2014 University of Cambridge.
 |  | ||||||
| +Last updated: 23 February 2017
 |  | ||||||
| +Copyright (c) 1997-2017 University of Cambridge.
 |  | ||||||
|  .fi |  | ||||||
| -- 
 |  | ||||||
| 2.7.4 |  | ||||||
| 
 |  | ||||||
| @ -1,50 +0,0 @@ | |||||||
| From 875a7d84d6cc77431db27eeb140d9e94e4584e31 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com> |  | ||||||
| Date: Tue, 14 Feb 2017 17:00:44 +0100 |  | ||||||
| Subject: [PATCH] Silent a GCC 7 warning about too small buffer for printing an |  | ||||||
|  integer |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
| 
 |  | ||||||
| GCC 7 reports this warning: |  | ||||||
| 
 |  | ||||||
| pcregrep.c:3194:68: warning: '%d' directive writing between 1 and 10 bytes into |  | ||||||
| a region of size 8 [-Wformat-overflow=] |  | ||||||
|      if (patterns->next == NULL) s[0] = 0; else sprintf(s, " number %d", j); |  | ||||||
|                                                                     ^~ |  | ||||||
| pcregrep.c:3194:59: note: directive argument in the range [1, 2147483647] |  | ||||||
|      if (patterns->next == NULL) s[0] = 0; else sprintf(s, " number %d", j); |  | ||||||
|                                                            ^~~~~~~~~~~~ |  | ||||||
| because the buffer s[] has only 16 characters. With 32-bit integers, |  | ||||||
| one needs up to 19 bytes to represent the sprintf() text. |  | ||||||
| 
 |  | ||||||
| This patch fixes it by avoiding the buffer at all. |  | ||||||
| 
 |  | ||||||
| Signed-off-by: Petr Písař <ppisar@redhat.com> |  | ||||||
| ---
 |  | ||||||
|  pcregrep.c | 8 +++++--- |  | ||||||
|  1 file changed, 5 insertions(+), 3 deletions(-) |  | ||||||
| 
 |  | ||||||
| diff --git a/pcregrep.c b/pcregrep.c
 |  | ||||||
| index 3cd70ee..87a3c2e 100644
 |  | ||||||
| --- a/pcregrep.c
 |  | ||||||
| +++ b/pcregrep.c
 |  | ||||||
| @@ -3190,9 +3190,11 @@ for (j = 1, cp = patterns; cp != NULL; j++, cp = cp->next)
 |  | ||||||
|    cp->hint = pcre_study(cp->compiled, study_options, &error); |  | ||||||
|    if (error != NULL) |  | ||||||
|      { |  | ||||||
| -    char s[16];
 |  | ||||||
| -    if (patterns->next == NULL) s[0] = 0; else sprintf(s, " number %d", j);
 |  | ||||||
| -    fprintf(stderr, "pcregrep: Error while studying regex%s: %s\n", s, error);
 |  | ||||||
| +    if (patterns->next == NULL)
 |  | ||||||
| +      fprintf(stderr, "pcregrep: Error while studying regex: %s\n", error);
 |  | ||||||
| +    else
 |  | ||||||
| +      fprintf(stderr, "pcregrep: Error while studying regex number %d: %s\n",
 |  | ||||||
| +        j, error);
 |  | ||||||
|      goto EXIT2; |  | ||||||
|      } |  | ||||||
|  #ifdef SUPPORT_PCREGREP_JIT |  | ||||||
| -- 
 |  | ||||||
| 2.7.4 |  | ||||||
| 
 |  | ||||||
							
								
								
									
										44
									
								
								pcre-8.41-RC1-JIT-compiler-update.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								pcre-8.41-RC1-JIT-compiler-update.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | |||||||
|  | From 90f29ca7fd20f31bf05ba8f996944663b1e7c5ed Mon Sep 17 00:00:00 2001 | ||||||
|  | From: zherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15> | ||||||
|  | Date: Thu, 15 Jun 2017 11:32:38 +0000 | ||||||
|  | Subject: [PATCH] JIT compiler update. | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Content-Type: text/plain; charset=UTF-8 | ||||||
|  | Content-Transfer-Encoding: 8bit | ||||||
|  | 
 | ||||||
|  | git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1704 2f5784b3-3f2a-0410-8824-cb99058d5e15 | ||||||
|  | Signed-off-by: Petr Písař <ppisar@redhat.com> | ||||||
|  | ---
 | ||||||
|  |  sljit/sljitNativeARM_32.c | 2 +- | ||||||
|  |  sljit/sljitNativeARM_64.c | 2 +- | ||||||
|  |  2 files changed, 2 insertions(+), 2 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/sljit/sljitNativeARM_32.c b/sljit/sljitNativeARM_32.c
 | ||||||
|  | index baa816d..745da99 100644
 | ||||||
|  | --- a/sljit/sljitNativeARM_32.c
 | ||||||
|  | +++ b/sljit/sljitNativeARM_32.c
 | ||||||
|  | @@ -2285,7 +2285,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler *compil
 | ||||||
|  |  #endif | ||||||
|  |  	} | ||||||
|  |   | ||||||
|  | -	return push_inst(compiler, (EMIT_DATA_PROCESS_INS(MOV_DP, 0, dst_reg, SLJIT_UNUSED, src) & ~COND_MASK) | cc);
 | ||||||
|  | +	return push_inst(compiler, (EMIT_DATA_PROCESS_INS(MOV_DP, 0, dst_reg, SLJIT_UNUSED, RM(src)) & ~COND_MASK) | cc);
 | ||||||
|  |  } | ||||||
|  |   | ||||||
|  |  SLJIT_API_FUNC_ATTRIBUTE struct sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw init_value) | ||||||
|  | diff --git a/sljit/sljitNativeARM_64.c b/sljit/sljitNativeARM_64.c
 | ||||||
|  | index cea8b33..fd67f50 100644
 | ||||||
|  | --- a/sljit/sljitNativeARM_64.c
 | ||||||
|  | +++ b/sljit/sljitNativeARM_64.c
 | ||||||
|  | @@ -2063,7 +2063,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler *compil
 | ||||||
|  |  	cc = get_cc(type & 0xff); | ||||||
|  |  	dst_reg &= ~SLJIT_I32_OP; | ||||||
|  |   | ||||||
|  | -	return push_inst(compiler, (CSEL ^ inv_bits) | (cc << 12) | RD(dst_reg) | RN(src) | RM(dst_reg));
 | ||||||
|  | +	return push_inst(compiler, (CSEL ^ inv_bits) | (cc << 12) | RD(dst_reg) | RN(dst_reg) | RM(src));
 | ||||||
|  |  } | ||||||
|  |   | ||||||
|  |  SLJIT_API_FUNC_ATTRIBUTE struct sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw init_value) | ||||||
|  | -- 
 | ||||||
|  | 2.9.4 | ||||||
|  | 
 | ||||||
							
								
								
									
										74
									
								
								pcre.spec
									
									
									
									
									
								
							
							
						
						
									
										74
									
								
								pcre.spec
									
									
									
									
									
								
							| @ -1,11 +1,10 @@ | |||||||
| # Is this a stable/testing release: | # Is this a stable/testing release: | ||||||
| #%%global rcversion RC1 | %global rcversion RC1 | ||||||
| Name:       pcre | Name:       pcre | ||||||
| Version:    8.40 | Version:    8.41 | ||||||
| Release:    %{?rcversion:0.}7%{?rcversion:.%rcversion}%{?dist} | Release:    %{?rcversion:0.}1%{?rcversion:.%rcversion}%{?dist} | ||||||
| %global myversion %{version}%{?rcversion:-%rcversion} | %global myversion %{version}%{?rcversion:-%rcversion} | ||||||
| Summary:    Perl-compatible regular expression library | Summary:    Perl-compatible regular expression library | ||||||
| Group:      System Environment/Libraries |  | ||||||
| ## Source package only: | ## Source package only: | ||||||
| # INSTALL:                  ??? | # INSTALL:                  ??? | ||||||
| # install-sh:               MIT and Public Domain | # install-sh:               MIT and Public Domain | ||||||
| @ -34,42 +33,8 @@ Source:     ftp://ftp.csx.cam.ac.uk/pub/software/programming/%{name}/%{?rcversio | |||||||
| Patch0:     pcre-8.21-multilib.patch | Patch0:     pcre-8.21-multilib.patch | ||||||
| # Refused by upstream, bug #675477 | # Refused by upstream, bug #675477 | ||||||
| Patch1:     pcre-8.32-refused_spelling_terminated.patch | Patch1:     pcre-8.32-refused_spelling_terminated.patch | ||||||
| # Fix pcregrep multi-line matching --only-matching option, upstream bug #1848, | # Fix JIT on ARM, in upstream after 8.41-RC1 | ||||||
| # in upstream after 8.40 | Patch2:     pcre-8.41-RC1-JIT-compiler-update.patch | ||||||
| Patch2:     pcre-8.40-Correct-fix-for-pcre2grep-multiline-with-only-matchi.patch |  | ||||||
| # Fix a crash in JIT compilation, CVE-2017-6004, upstream bug #2035, |  | ||||||
| # in upstream after 8.40 |  | ||||||
| Patch3:     pcre-8.40-Fix-a-missing-else-in-the-JIT-compiler-reported-by-i.patch |  | ||||||
| # Fix a potenial buffer overflow in formatting a pcregrep error message, |  | ||||||
| # upstream bug #2037, in upstream after 8.40 |  | ||||||
| Patch4:     pcre-8.40-Silent-a-GCC-7-warning-about-too-small-buffer-for-pr.patch |  | ||||||
| # Fix parsing comments between quantifiers, upstream bug #2019, |  | ||||||
| # in upstream after 8.40 |  | ||||||
| Patch5:     pcre-8.40-Fix-recognition-of-style-comment-between-quantifier-.patch |  | ||||||
| # Fix a crash in pcretest when printing non-ASCII characters, |  | ||||||
| # upstream bug #2043, in upstream after 8.40 |  | ||||||
| Patch6:     pcre-8.40-Check-character-256-for-isprint-in-pcretest.patch |  | ||||||
| # Fix a crash in pcretest when \O directive was supplied with too big number, |  | ||||||
| # upstream bug #2044, in upstream after 8.40 |  | ||||||
| Patch7:     pcre-8.40-Make-pcretest-check-size-of-O-argument.patch |  | ||||||
| # Document pcretest input cannot contain binary zeroes, upstream bug #2045, |  | ||||||
| # in upstream after 8.40 |  | ||||||
| Patch8:     pcre-8.40-Minor-doc-update.patch |  | ||||||
| # Fix a crash when finding a Unicode property for a character with a code |  | ||||||
| # point greater than 0x10ffff in UTF-32 library while UTF mode is disabled, |  | ||||||
| # CVE-2017-7244 upstream bug #2052, in upstream after 8.40 |  | ||||||
| Patch9:     pcre-8.40-Fix-Unicode-property-crash-for-32-bit-characters-gre.patch |  | ||||||
| # Fix DFA match for a possessively repeated character class, |  | ||||||
| # upstream bug #2086, in upstream after 8.40 |  | ||||||
| Patch10:    pcre-8.40-Fix-DFA-match-handling-of-possessive-repeated-charac.patch |  | ||||||
| # Fix a buffer overflow in pcretest tool when copying a string in UTF-32 mode, |  | ||||||
| # in upstream after 8.40 |  | ||||||
| Patch11:    pcre-8.40-Fix-typo-leading-to-possible-buffer-overflow-in-pcre.patch |  | ||||||
| # Fix CVE-2017-7186 in JIT mode (a crash when finding a Unicode property for |  | ||||||
| # a character with a code point greater than 0x10ffff in UTF-32 library while |  | ||||||
| # UTF mode is disabled), bug #1434504, upstream bug #2052, |  | ||||||
| # in upstream after 8.40 |  | ||||||
| Patch12:    pcre-8.40-Fix-character-type-detection-when-32-bit-and-UCP-are.patch |  | ||||||
| BuildRequires:  readline-devel | BuildRequires:  readline-devel | ||||||
| BuildRequires:  autoconf | BuildRequires:  autoconf | ||||||
| BuildRequires:  automake | BuildRequires:  automake | ||||||
| @ -95,7 +60,6 @@ encodings. Detailed change log is provided by %{name}-doc package. | |||||||
| 
 | 
 | ||||||
| %package utf16 | %package utf16 | ||||||
| Summary:    UTF-16 variant of PCRE | Summary:    UTF-16 variant of PCRE | ||||||
| Group:      Development/Libraries |  | ||||||
| Conflicts:  %{name}%{?_isa} < 8.38-12 | Conflicts:  %{name}%{?_isa} < 8.38-12 | ||||||
| 
 | 
 | ||||||
| %description utf16 | %description utf16 | ||||||
| @ -104,7 +68,6 @@ Detailed change log is provided by %{name}-doc package. | |||||||
| 
 | 
 | ||||||
| %package utf32 | %package utf32 | ||||||
| Summary:    UTF-32 variant of PCRE | Summary:    UTF-32 variant of PCRE | ||||||
| Group:      Development/Libraries |  | ||||||
| Conflicts:  %{name}%{?_isa} < 8.38-12 | Conflicts:  %{name}%{?_isa} < 8.38-12 | ||||||
| 
 | 
 | ||||||
| %description utf32 | %description utf32 | ||||||
| @ -113,7 +76,6 @@ Detailed change log is provided by %{name}-doc package. | |||||||
| 
 | 
 | ||||||
| %package cpp | %package cpp | ||||||
| Summary:    C++ bindings for PCRE | Summary:    C++ bindings for PCRE | ||||||
| Group:      Development/Libraries |  | ||||||
| Requires:   %{name}%{?_isa} = %{version}-%{release} | Requires:   %{name}%{?_isa} = %{version}-%{release} | ||||||
| 
 | 
 | ||||||
| %description cpp | %description cpp | ||||||
| @ -122,7 +84,6 @@ Detailed change log is provided by %{name}-doc package. | |||||||
| 
 | 
 | ||||||
| %package doc | %package doc | ||||||
| Summary:    Change log for %{name} | Summary:    Change log for %{name} | ||||||
| Group:      Documentation |  | ||||||
| BuildArch:  noarch | BuildArch:  noarch | ||||||
| 
 | 
 | ||||||
| %description doc | %description doc | ||||||
| @ -130,7 +91,6 @@ These are large documentation files about PCRE. | |||||||
| 
 | 
 | ||||||
| %package devel | %package devel | ||||||
| Summary:    Development files for %{name} | Summary:    Development files for %{name} | ||||||
| Group:      Development/Libraries |  | ||||||
| Requires:   %{name}%{?_isa} = %{version}-%{release} | Requires:   %{name}%{?_isa} = %{version}-%{release} | ||||||
| Requires:   %{name}-cpp%{?_isa} = %{version}-%{release} | Requires:   %{name}-cpp%{?_isa} = %{version}-%{release} | ||||||
| Requires:   %{name}-utf16%{?_isa} = %{version}-%{release} | Requires:   %{name}-utf16%{?_isa} = %{version}-%{release} | ||||||
| @ -141,7 +101,6 @@ Development files (Headers, libraries for dynamic linking, etc) for %{name}. | |||||||
| 
 | 
 | ||||||
| %package static | %package static | ||||||
| Summary:    Static library for %{name} | Summary:    Static library for %{name} | ||||||
| Group:      Development/Libraries |  | ||||||
| Requires:   %{name}-devel%{_isa} = %{version}-%{release} | Requires:   %{name}-devel%{_isa} = %{version}-%{release} | ||||||
| 
 | 
 | ||||||
| %description static | %description static | ||||||
| @ -149,7 +108,6 @@ Library for static linking for %{name}. | |||||||
| 
 | 
 | ||||||
| %package tools | %package tools | ||||||
| Summary:    Auxiliary utilities for %{name} | Summary:    Auxiliary utilities for %{name} | ||||||
| Group:      Development/Tools |  | ||||||
| Requires:   %{name}%{_isa} = %{version}-%{release} | Requires:   %{name}%{_isa} = %{version}-%{release} | ||||||
| 
 | 
 | ||||||
| %description tools | %description tools | ||||||
| @ -161,16 +119,6 @@ Utilities demonstrating PCRE capabilities like pcregrep or pcretest. | |||||||
| %patch0 -p1 | %patch0 -p1 | ||||||
| %patch1 -p1 | %patch1 -p1 | ||||||
| %patch2 -p1 | %patch2 -p1 | ||||||
| %patch3 -p1 |  | ||||||
| %patch4 -p1 |  | ||||||
| %patch5 -p1 |  | ||||||
| %patch6 -p1 |  | ||||||
| %patch7 -p1 |  | ||||||
| %patch8 -p1 |  | ||||||
| %patch9 -p1 |  | ||||||
| %patch10 -p1 |  | ||||||
| %patch11 -p1 |  | ||||||
| %patch12 -p1 |  | ||||||
| # Because of rpath patch | # Because of rpath patch | ||||||
| libtoolize --copy --force | libtoolize --copy --force | ||||||
| autoreconf -vif | autoreconf -vif | ||||||
| @ -192,8 +140,13 @@ done | |||||||
| %else | %else | ||||||
|     --enable-jit \ |     --enable-jit \ | ||||||
| %endif | %endif | ||||||
|     --enable-pcretest-libreadline --enable-utf --enable-unicode-properties \ |     --enable-pcretest-libreadline \ | ||||||
|     --enable-pcre8 --enable-pcre16 --enable-pcre32 |     --enable-utf \ | ||||||
|  |     --enable-unicode-properties \ | ||||||
|  |     --enable-pcre8 \ | ||||||
|  |     --enable-pcre16 \ | ||||||
|  |     --enable-pcre32 \ | ||||||
|  |     --disable-silent-rules | ||||||
| make %{?_smp_mflags} | make %{?_smp_mflags} | ||||||
| 
 | 
 | ||||||
| %install | %install | ||||||
| @ -267,6 +220,9 @@ make %{?_smp_mflags} check VERBOSE=yes | |||||||
| %{_mandir}/man1/pcretest.* | %{_mandir}/man1/pcretest.* | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Wed Jun 14 2017 Petr Pisar <ppisar@redhat.com> - 8.41-0.1.RC1 | ||||||
|  | - 8.41 RC1 bump | ||||||
|  | 
 | ||||||
| * Fri Apr 21 2017 Petr Pisar <ppisar@redhat.com> - 8.40-7 | * Fri Apr 21 2017 Petr Pisar <ppisar@redhat.com> - 8.40-7 | ||||||
| - Fix a buffer overflow in pcretest tool when copying a string in UTF-32 mode | - Fix a buffer overflow in pcretest tool when copying a string in UTF-32 mode | ||||||
| - Fix CVE-2017-7186 in JIT mode (a crash when finding a Unicode property for | - Fix CVE-2017-7186 in JIT mode (a crash when finding a Unicode property for | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								sources
									
									
									
									
									
								
							| @ -1 +1 @@ | |||||||
| SHA512 (pcre-8.40.tar.bz2) = b4c27eafbdf33bd7a1384655b1936f4be3bc6745c072347eb26e988896c52664bd85ac42444da1be78b6e20f45b6c7e5921f5f20f5b0741b5bd3d9844e5bd4e2 | SHA512 (pcre-8.41-RC1.tar.bz2) = 5d29f96af022a6fa8c6ca484f3c6756838f745423030102612138ed252f5bd1185e7b9e361b465332150d24af0361961765d4f872aa56518a32f709e014c845a | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user