diff options
| author | Rasmus Lerdorf <rasmus@php.net> | 2012-02-06 18:18:53 +0000 | 
|---|---|---|
| committer | Rasmus Lerdorf <rasmus@php.net> | 2012-02-06 18:18:53 +0000 | 
| commit | 090bb97555a9ddfb3d94f5fcf2901f7b158c1d16 (patch) | |
| tree | 45496f5911d0a36a0ed5f8f0b8b1adedf0010e11 | |
| parent | 0f0261e0b705a3a1610f9fea214cd8cf0b8b13cb (diff) | |
| download | php-git-090bb97555a9ddfb3d94f5fcf2901f7b158c1d16.tar.gz | |
Safer way to call pcre_fullinfo - bug 60986
| -rw-r--r-- | ext/pcre/php_pcre.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/ext/pcre/php_pcre.c b/ext/pcre/php_pcre.c index fc96ef6bef..c9d707280c 100644 --- a/ext/pcre/php_pcre.c +++ b/ext/pcre/php_pcre.c @@ -241,6 +241,7 @@ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(char *regex, int regex_le  	char				*pattern;  	int					 do_study = 0;  	int					 poptions = 0; +	int				count = 0;  	unsigned const char *tables = NULL;  #if HAVE_SETLOCALE  	char				*locale = setlocale(LC_CTYPE, NULL); @@ -255,7 +256,7 @@ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(char *regex, int regex_le  		 * We use a quick pcre_fullinfo() check to see whether cache is corrupted, and if it  		 * is, we flush it and compile the pattern from scratch.  		 */ -		if (pcre_fullinfo(pce->re, NULL, NULL, NULL) == PCRE_ERROR_BADMAGIC) { +		if (pcre_fullinfo(pce->re, NULL, PCRE_INFO_CAPTURECOUNT, &count) == PCRE_ERROR_BADMAGIC) {  			zend_hash_clean(&PCRE_G(pcre_cache));  		} else {  #if HAVE_SETLOCALE  | 
