Skip to content

Commit 55341ac

Browse files
committed
Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
2 parents 467cd6a + f982aaa commit 55341ac

9 files changed

+22
-17
lines changed

NEWS

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
PHP NEWS
22
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3+
?? ??? 2013, PHP 5.4.15
4+
35
?? ??? 2013, PHP 5.4.14
46
- Core
5-
. Fixed bug #64515 (Memoryleak when using the same variablename 2times in
7+
. Fixed bug #64529 (Ran out of opcode space). (Dmitry)
8+
. Fixed bug #64515 (Memoryleak when using the same variablename two times in
69
function declaration). (Laruence)
710
. Fixed bug #64432 (more empty delimiter warning in strX methods). (Laruence)
811
. Fixed bug #64417 (ArrayAccess::&offsetGet() in a trait causes fatal error).
@@ -66,7 +69,8 @@ PHP NEWS
6669
- SOAP
6770
. Added check that soap.wsdl_cache_dir conforms to open_basedir
6871
(CVE-2013-1635). (Dmitry)
69-
. Disabled external entities loading (CVE-2013-1643). (Dmitry)
72+
. Disabled external entities loading (CVE-2013-1643, CVE-2013-1824).
73+
(Dmitry)
7074

7175
- Phar:
7276
. Fixed timestamp update on Phar contents modification. (Dmitry)

Zend/zend_compile.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1798,7 +1798,7 @@ void zend_do_end_function_declaration(const znode *function_token TSRMLS_DC) /*
17981798
zend_do_return(NULL, 0 TSRMLS_CC);
17991799

18001800
pass_two(CG(active_op_array) TSRMLS_CC);
1801-
zend_release_labels(TSRMLS_C);
1801+
zend_release_labels(0 TSRMLS_CC);
18021802

18031803
if (CG(active_class_entry)) {
18041804
zend_check_magic_method_implementation(CG(active_class_entry), (zend_function*)CG(active_op_array), E_COMPILE_ERROR TSRMLS_CC);
@@ -2320,13 +2320,14 @@ void zend_do_goto(const znode *label TSRMLS_DC) /* {{{ */
23202320
}
23212321
/* }}} */
23222322

2323-
void zend_release_labels(TSRMLS_D) /* {{{ */
2323+
void zend_release_labels(int temporary TSRMLS_DC) /* {{{ */
23242324
{
23252325
if (CG(context).labels) {
23262326
zend_hash_destroy(CG(context).labels);
23272327
FREE_HASHTABLE(CG(context).labels);
2328+
CG(context).labels = NULL;
23282329
}
2329-
if (!zend_stack_is_empty(&CG(context_stack))) {
2330+
if (!temporary && !zend_stack_is_empty(&CG(context_stack))) {
23302331
zend_compiler_context *ctx;
23312332

23322333
zend_stack_top(&CG(context_stack), (void**)&ctx);

Zend/zend_compile.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,7 +616,7 @@ void zend_do_end_compilation(TSRMLS_D);
616616
void zend_do_label(znode *label TSRMLS_DC);
617617
void zend_do_goto(const znode *label TSRMLS_DC);
618618
void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2 TSRMLS_DC);
619-
void zend_release_labels(TSRMLS_D);
619+
void zend_release_labels(int temporary TSRMLS_DC);
620620

621621
ZEND_API void function_add_ref(zend_function *function);
622622

Zend/zend_execute_API.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1313,7 +1313,7 @@ void execute_new_code(TSRMLS_D) /* {{{ */
13131313
opline++;
13141314
}
13151315

1316-
zend_release_labels(TSRMLS_C);
1316+
zend_release_labels(1 TSRMLS_CC);
13171317

13181318
EG(return_value_ptr_ptr) = NULL;
13191319
EG(active_op_array) = CG(active_op_array);

Zend/zend_language_scanner.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Generated by re2c 0.13.5 on Wed Nov 14 17:46:56 2012 */
1+
/* Generated by re2c 0.13.5 on Wed Mar 27 23:52:29 2013 */
22
#line 1 "Zend/zend_language_scanner.l"
33
/*
44
+----------------------------------------------------------------------+
@@ -595,7 +595,7 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSR
595595
CG(active_op_array) = original_active_op_array;
596596
if (compilation_successful) {
597597
pass_two(op_array TSRMLS_CC);
598-
zend_release_labels(TSRMLS_C);
598+
zend_release_labels(0 TSRMLS_CC);
599599
} else {
600600
efree(op_array);
601601
retval = NULL;
@@ -770,7 +770,7 @@ zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC)
770770
zend_do_return(NULL, 0 TSRMLS_CC);
771771
CG(active_op_array) = original_active_op_array;
772772
pass_two(op_array TSRMLS_CC);
773-
zend_release_labels(TSRMLS_C);
773+
zend_release_labels(0 TSRMLS_CC);
774774
retval = op_array;
775775
}
776776
}

Zend/zend_language_scanner.l

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,7 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSR
593593
CG(active_op_array) = original_active_op_array;
594594
if (compilation_successful) {
595595
pass_two(op_array TSRMLS_CC);
596-
zend_release_labels(TSRMLS_C);
596+
zend_release_labels(0 TSRMLS_CC);
597597
} else {
598598
efree(op_array);
599599
retval = NULL;
@@ -768,7 +768,7 @@ zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC)
768768
zend_do_return(NULL, 0 TSRMLS_CC);
769769
CG(active_op_array) = original_active_op_array;
770770
pass_two(op_array TSRMLS_CC);
771-
zend_release_labels(TSRMLS_C);
771+
zend_release_labels(0 TSRMLS_CC);
772772
retval = op_array;
773773
}
774774
}

Zend/zend_language_scanner_defs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Generated by re2c 0.13.5 on Wed Nov 14 17:46:56 2012 */
1+
/* Generated by re2c 0.13.5 on Wed Mar 27 23:52:29 2013 */
22
#line 3 "Zend/zend_language_scanner_defs.h"
33

44
enum YYCONDTYPE {

configure.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
119119

120120
PHP_MAJOR_VERSION=5
121121
PHP_MINOR_VERSION=4
122-
PHP_RELEASE_VERSION=14
122+
PHP_RELEASE_VERSION=15
123123
PHP_EXTRA_VERSION="-dev"
124124
PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
125125
PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION`

main/php_version.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/* edit configure.in to change version number */
33
#define PHP_MAJOR_VERSION 5
44
#define PHP_MINOR_VERSION 4
5-
#define PHP_RELEASE_VERSION 14
5+
#define PHP_RELEASE_VERSION 15
66
#define PHP_EXTRA_VERSION "-dev"
7-
#define PHP_VERSION "5.4.14-dev"
8-
#define PHP_VERSION_ID 50414
7+
#define PHP_VERSION "5.4.15-dev"
8+
#define PHP_VERSION_ID 50415

0 commit comments

Comments
 (0)