Re: [PHP-CVS] com php-src: add code to check if we know flock definition on this system: ext/opcache/config.m4

2013-03-25 Thread Ferenc Kovacs
On Mon, Mar 25, 2013 at 4:11 AM, Stanislav Malyshev s...@php.net wrote:

 Commit:385d0e52cc527393269a48f2fdd01aa1541b4e1f
 Author:Stanislav Malyshev s...@php.net Sun, 24 Mar 2013
 20:11:28 -0700
 Parents:   504ef64c7b7c716841f65b5e7415378b2b27526a
 Branches:  PHP-5.5 master

 Link:
 http://git.php.net/?p=php-src.git;a=commitdiff;h=385d0e52cc527393269a48f2fdd01aa1541b4e1f

 Log:
 add code to check if we know flock definition on this system

 In order to configure detect it and not fail the compile.
 Not an ideal solution, suggestions are welcome on how to improve it.

 Changed paths:
   M  ext/opcache/config.m4


 Diff:
 diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
 index cbf7d5a..70cd4e9 100644
 --- a/ext/opcache/config.m4
 +++ b/ext/opcache/config.m4
 @@ -325,6 +325,39 @@ int main() {
  AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM
 support])
  msg=yes,msg=no,msg=no)
AC_MSG_RESULT([$msg])
 +
 +  AC_MSG_CHECKING(for known struct flock definition)
 +  dnl Copied from ZendAccelerator.h
 +  AC_TRY_RUN([
 +#include fcntl.h
 +#include stdlib.h
 +
 +#ifndef ZEND_WIN32
 +extern int lock_file;
 +
 +# if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ||
 (defined(__APPLE__)  defined(__MACH__)/* Darwin */) ||
 defined(__OpenBSD__) || defined(__NetBSD__)
 +#  define FLOCK_STRUCTURE(name, type, whence, start, len) \
 +struct flock name = {start, len, -1, type, whence}
 +# elif defined(__svr4__)
 +#  define FLOCK_STRUCTURE(name, type, whence, start, len) \
 +struct flock name = {type, whence, start, len}
 +# elif defined(__linux__) || defined(__hpux)
 +#  define FLOCK_STRUCTURE(name, type, whence, start, len) \
 +struct flock name = {type, whence, start, len, 0}
 +# elif defined(_AIX)
 +#  if defined(_LARGE_FILES) || defined(__64BIT__)
 +#   define FLOCK_STRUCTURE(name, type, whence, start, len) \
 +struct flock name = {type, whence, 0, 0, 0, start, len }
 +#  else
 +#   define FLOCK_STRUCTURE(name, type, whence, start, len) \
 +struct flock name = {type, whence, start, len}
 +#  endif
 +# else
 +#  error Don't know how to define struct flock
 +# endif
 +#endif
 +void main() {}
 +], [], [AC_MSG_ERROR([Don't know how to define struct flock on this
 system[,] set --enable-opcache=no])], [])

PHP_NEW_EXTENSION(opcache,
 ZendAccelerator.c \


 --
 PHP CVS Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php


after this commit I was getting
Don't know how to define struct flock on this system, set
--enable-opcache=no
on my ubuntu test vm

replacing
void main() {}
with
int main() {return 0;}
solves the problem for me.

-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu


Re: [PHP-CVS] com php-src: add code to check if we know flock definition on this system: ext/opcache/config.m4

2013-03-25 Thread Stas Malyshev
Hi!

 replacing
 void main() {}
 with
 int main() {return 0;}
 solves the problem for me.

Ah, well, yes, you're right - the return value... I'll fix it.

-- 
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] com php-src: fix return value: ext/opcache/config.m4

2013-03-25 Thread Stanislav Malyshev
Commit:016fbd99914e51b686791fa5acf367cd2d9c35b8
Author:Stanislav Malyshev s...@php.net Sun, 24 Mar 2013 23:43:25 
-0700
Parents:   385d0e52cc527393269a48f2fdd01aa1541b4e1f
Branches:  PHP-5.5 master

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=016fbd99914e51b686791fa5acf367cd2d9c35b8

Log:
fix return value

Changed paths:
  M  ext/opcache/config.m4


Diff:
diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
index 70cd4e9..81b06e9 100644
--- a/ext/opcache/config.m4
+++ b/ext/opcache/config.m4
@@ -356,7 +356,7 @@ extern int lock_file;
 #  error Don't know how to define struct flock
 # endif
 #endif
-void main() {}
+void main() { return 0; }
 ], [], [AC_MSG_ERROR([Don't know how to define struct flock on this system[,] 
set --enable-opcache=no])], [])
   
   PHP_NEW_EXTENSION(opcache,


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] com php-src: fix return value: ext/opcache/config.m4

2013-03-25 Thread Laruence
On Mon, Mar 25, 2013 at 2:43 PM, Stanislav Malyshev s...@php.net wrote:
 Commit:016fbd99914e51b686791fa5acf367cd2d9c35b8
 Author:Stanislav Malyshev s...@php.net Sun, 24 Mar 2013 
 23:43:25 -0700
 Parents:   385d0e52cc527393269a48f2fdd01aa1541b4e1f
 Branches:  PHP-5.5 master

 Link:   
 http://git.php.net/?p=php-src.git;a=commitdiff;h=016fbd99914e51b686791fa5acf367cd2d9c35b8

 Log:
 fix return value

 Changed paths:
   M  ext/opcache/config.m4


 Diff:
 diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
 index 70cd4e9..81b06e9 100644
 --- a/ext/opcache/config.m4
 +++ b/ext/opcache/config.m4
 @@ -356,7 +356,7 @@ extern int lock_file;
  #  error Don't know how to define struct flock
  # endif
  #endif
 -void main() {}
 +void main() { return 0; }
int main() ?
  ], [], [AC_MSG_ERROR([Don't know how to define struct flock on this 
 system[,] set --enable-opcache=no])], [])

PHP_NEW_EXTENSION(opcache,


 --
 PHP CVS Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




-- 
Laruence  Xinchen Hui
http://www.laruence.com/

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] com php-src: make it int main: ext/opcache/config.m4

2013-03-25 Thread Stanislav Malyshev
Commit:c20e4bbc9678906b12a39747f79d29654ac6c2c5
Author:Stanislav Malyshev s...@php.net Sun, 24 Mar 2013 23:58:30 
-0700
Parents:   016fbd99914e51b686791fa5acf367cd2d9c35b8
Branches:  PHP-5.5 master

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=c20e4bbc9678906b12a39747f79d29654ac6c2c5

Log:
make it int main

Changed paths:
  M  ext/opcache/config.m4


Diff:
diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
index 81b06e9..f9c38b1 100644
--- a/ext/opcache/config.m4
+++ b/ext/opcache/config.m4
@@ -356,7 +356,7 @@ extern int lock_file;
 #  error Don't know how to define struct flock
 # endif
 #endif
-void main() { return 0; }
+int main() { return 0; }
 ], [], [AC_MSG_ERROR([Don't know how to define struct flock on this system[,] 
set --enable-opcache=no])], [])
   
   PHP_NEW_EXTENSION(opcache,


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] com php-src: 7.0.1 release: ext/opcache/ZendAccelerator.h

2013-03-25 Thread Dmitry Stogov
Commit:a3316ffe6a05d86c9b49d37c5ac9ed101c606d86
Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 11:44:09 
+0400
Parents:   c20e4bbc9678906b12a39747f79d29654ac6c2c5
Branches:  PHP-5.5 master

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=a3316ffe6a05d86c9b49d37c5ac9ed101c606d86

Log:
7.0.1 release

Changed paths:
  M  ext/opcache/ZendAccelerator.h


Diff:
diff --git a/ext/opcache/ZendAccelerator.h b/ext/opcache/ZendAccelerator.h
index 5a2e530..cd89bcc 100644
--- a/ext/opcache/ZendAccelerator.h
+++ b/ext/opcache/ZendAccelerator.h
@@ -27,7 +27,7 @@
 #endif
 
 #define ACCELERATOR_PRODUCT_NAME   Zend OPcache
-#define ACCELERATOR_VERSION 7.0.1-dev
+#define ACCELERATOR_VERSION 7.0.1
 /* 2 - added Profiler support, on 20010712 */
 /* 3 - added support for Optimizer's encoded-only-files mode */
 /* 4 - works with the new Optimizer, that supports the file format with 
licenses */


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] com php-src: Separate start_time from last_restart_time: ext/opcache/ZendAccelerator.c ext/opcache/ZendAccelerator.h ext/opcache/zend_accelerator_module.c

2013-03-25 Thread Dmitry Stogov
Commit:64b029af0dc7d044586db9a554e0a47783076cc8
Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 12:33:24 
+0400
Parents:   987dee9ca1be517f4be02d9c8f721d569596dc5a
Branches:  PHP-5.5 master

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=64b029af0dc7d044586db9a554e0a47783076cc8

Log:
Separate start_time from last_restart_time

Changed paths:
  M  ext/opcache/ZendAccelerator.c
  M  ext/opcache/ZendAccelerator.h
  M  ext/opcache/zend_accelerator_module.c


Diff:
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c
index e634c13..9d1fdce 100644
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@ -2362,7 +2362,8 @@ static void zend_accel_init_shm(TSRMLS_D)
ZCSG(manual_restarts) = 0;
 
ZCSG(accelerator_enabled) = 1;
-   ZCSG(last_restart_time) = zend_accel_get_time();
+   ZCSG(start_time) = zend_accel_get_time();
+   ZCSG(last_restart_time) = 0;
ZCSG(restart_in_progress) = 0;
 
zend_shared_alloc_unlock(TSRMLS_C);
diff --git a/ext/opcache/ZendAccelerator.h b/ext/opcache/ZendAccelerator.h
index cd89bcc..c611d65 100644
--- a/ext/opcache/ZendAccelerator.h
+++ b/ext/opcache/ZendAccelerator.h
@@ -275,6 +275,7 @@ typedef struct _zend_accel_shared_globals {
zend_accel_hash include_paths;/* used include_path values*/
 
/* Directives  Maintenance */
+   time_t  start_time;
time_t  last_restart_time;
time_t  force_restart_time;
zend_bool   accelerator_enabled;
diff --git a/ext/opcache/zend_accelerator_module.c 
b/ext/opcache/zend_accelerator_module.c
index 778fee5..0d452ad 100644
--- a/ext/opcache/zend_accelerator_module.c
+++ b/ext/opcache/zend_accelerator_module.c
@@ -503,6 +503,7 @@ static ZEND_FUNCTION(opcache_get_status)
add_assoc_long(statistics, num_cached_keys,
ZCSG(hash).num_entries);
add_assoc_long(statistics, max_cached_keys,
ZCSG(hash).max_num_entries);
add_assoc_long(statistics, hits, ZCSG(hits));
+   add_assoc_long(statistics, start_time, ZCSG(start_time));
add_assoc_long(statistics, last_restart_time, 
ZCSG(last_restart_time));
add_assoc_long(statistics, oom_restarts, ZCSG(oom_restarts));
add_assoc_long(statistics, wasted_restarts, ZCSG(wasted_restarts));


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] com php-src: Fixed PHP-5.2 ZTS compatibility: ext/opcache/Optimizer/block_pass.c ext/opcache/Optimizer/pass1_5.c ext/opcache/ZendAccelerator.c ext/opcache/zend_accelerator_util_funcs.c

2013-03-25 Thread Dmitry Stogov
Commit:987dee9ca1be517f4be02d9c8f721d569596dc5a
Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 12:21:58 
+0400
Parents:   a3316ffe6a05d86c9b49d37c5ac9ed101c606d86
Branches:  PHP-5.5 master

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=987dee9ca1be517f4be02d9c8f721d569596dc5a

Log:
Fixed PHP-5.2 ZTS compatibility

Changed paths:
  M  ext/opcache/Optimizer/block_pass.c
  M  ext/opcache/Optimizer/pass1_5.c
  M  ext/opcache/ZendAccelerator.c
  M  ext/opcache/zend_accelerator_util_funcs.c


Diff:
diff --git a/ext/opcache/Optimizer/block_pass.c 
b/ext/opcache/Optimizer/block_pass.c
index d4299c8..7fd986c 100644
--- a/ext/opcache/Optimizer/block_pass.c
+++ b/ext/opcache/Optimizer/block_pass.c
@@ -972,7 +972,11 @@ static void zend_optimize_block(zend_code_block *block, 
zend_op_array *op_array,
zval result;
 
if (unary_op) {
+#if ZEND_EXTENSION_API_NO  PHP_5_3_X_API_NO
+   unary_op(result, ZEND_OP1_LITERAL(opline));
+#else
unary_op(result, ZEND_OP1_LITERAL(opline) 
TSRMLS_CC);
+#endif
literal_dtor(ZEND_OP1_LITERAL(opline));
} else {
/* BOOL */
diff --git a/ext/opcache/Optimizer/pass1_5.c b/ext/opcache/Optimizer/pass1_5.c
index 8938e14..dc9e731 100644
--- a/ext/opcache/Optimizer/pass1_5.c
+++ b/ext/opcache/Optimizer/pass1_5.c
@@ -203,7 +203,11 @@ if (ZEND_OPTIMIZER_PASS_1  OPTIMIZATION_LEVEL) {
 
er = EG(error_reporting);
EG(error_reporting) = 0;
+#if ZEND_EXTENSION_API_NO  PHP_5_3_X_API_NO
+   if (unary_op(result, 
ZEND_OP1_LITERAL(opline)) != SUCCESS) {
+#else
if (unary_op(result, ZEND_OP1_LITERAL(opline) 
TSRMLS_CC) != SUCCESS) {
+#endif
EG(error_reporting) = er;
break;
}
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c
index 64c5aa8..e634c13 100644
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@ -1204,10 +1204,18 @@ static zend_persistent_script 
*compile_and_cache_file(zend_file_handle *file_han
 } else {
*op_array_p = NULL;
if (type == ZEND_REQUIRE) {
+#if ZEND_EXTENSION_API_NO  PHP_5_3_X_API_NO
+   
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle-filename);
+#else

zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle-filename 
TSRMLS_CC);
+#endif
zend_bailout();
} else {
+#if ZEND_EXTENSION_API_NO  PHP_5_3_X_API_NO
+   
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle-filename);
+#else

zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle-filename 
TSRMLS_CC);
+#endif
}
return NULL;
}
@@ -1422,10 +1430,18 @@ static zend_op_array 
*persistent_compile_file(zend_file_handle *file_handle, int
zend_stream_open(file_handle-filename, file_handle 
TSRMLS_CC) == FAILURE) {
 #endif
if (type == ZEND_REQUIRE) {
+#if ZEND_EXTENSION_API_NO  PHP_5_3_X_API_NO
+   
zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle-filename);
+#else

zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle-filename 
TSRMLS_CC);
+#endif
zend_bailout();
} else {
+#if ZEND_EXTENSION_API_NO  PHP_5_3_X_API_NO
+   
zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle-filename);
+#else

zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle-filename 
TSRMLS_CC);
+#endif
}
return NULL;
}
@@ -1542,7 +1558,11 @@ static zend_op_array 
*persistent_compile_file(zend_file_handle *file_handle, int
zend_hash_quick_add(EG(included_files), 
persistent_script-full_path, persistent_script-full_path_len + 1, 
persistent_script-hash_value, dummy, sizeof(void *), NULL);
}
}
+#if ZEND_EXTENSION_API_NO  PHP_5_3_X_API_NO
+   zend_file_handle_dtor(file_handle);
+#else
zend_file_handle_dtor(file_handle TSRMLS_CC);
+#endif
from_shared_memory = 1;
}
 
diff --git a/ext/opcache/zend_accelerator_util_funcs.c 
b/ext/opcache/zend_accelerator_util_funcs.c
index 7d5028c..75b1561 100644
--- 

[PHP-CVS] com php-src: Fixed bug #64482 (Opcodes for dynamic includes should not be cached): ext/opcache/ZendAccelerator.c ext/opcache/tests/bug64482.inc ext/opcache/tests/bug64482.phpt

2013-03-25 Thread Dmitry Stogov
Commit:0a00d292569a8fbd2d5c96c9d141b23ae916f00b
Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 13:05:16 
+0400
Parents:   64b029af0dc7d044586db9a554e0a47783076cc8
Branches:  PHP-5.5 master

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=0a00d292569a8fbd2d5c96c9d141b23ae916f00b

Log:
Fixed bug #64482 (Opcodes for dynamic includes should not be cached)

Bugs:
https://bugs.php.net/64482

Changed paths:
  M  ext/opcache/ZendAccelerator.c
  A  ext/opcache/tests/bug64482.inc
  A  ext/opcache/tests/bug64482.phpt


Diff:
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c
index 9d1fdce..bfe9d67 100644
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@ -134,6 +134,12 @@ static inline int is_stream_path(const char *filename)
return ((*p == ':')  (p - filename  1)  (p[1] == '/')  (p[2] == 
'/'));
 }
 
+static inline int is_cachable_stream_path(const char *filename)
+{
+   return memcmp(filename, file://, sizeof(file://) - 1) == 0 ||
+  memcmp(filename, phar://, sizeof(file://) - 1) == 0;
+}
+
 /* O+ overrides PHP chdir() function and remembers the current working 
directory
  * in ZCG(cwd) and ZCG(cwd_len). Later accel_getcwd() can use stored value and
  * avoid getcwd() call.
@@ -1373,7 +1379,9 @@ static zend_op_array 
*persistent_compile_file(zend_file_handle *file_handle, int
!ZCG(enabled) || !accel_startup_ok ||
(!ZCG(counted)  !ZCSG(accelerator_enabled)) ||
CG(interactive) ||
-   (ZCSG(restart_in_progress)  accel_restart_is_active(TSRMLS_C))) {
+   (ZCSG(restart_in_progress)  accel_restart_is_active(TSRMLS_C)) ||
+   (is_stream_path(file_handle-filename)  
+!is_cachable_stream_path(file_handle-filename))) {
/* The Accelerator is disabled, act as if without the 
Accelerator */
return accelerator_orig_compile_file(file_handle, type 
TSRMLS_CC);
}
diff --git a/ext/opcache/tests/bug64482.inc b/ext/opcache/tests/bug64482.inc
new file mode 100644
index 000..e3d2b21
--- /dev/null
+++ b/ext/opcache/tests/bug64482.inc
@@ -0,0 +1,2 @@
+?php
+echo Dynamic include;
diff --git a/ext/opcache/tests/bug64482.phpt b/ext/opcache/tests/bug64482.phpt
new file mode 100644
index 000..fa722f6
--- /dev/null
+++ b/ext/opcache/tests/bug64482.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Bug #64482 (Opcodes for dynamic includes should not be cached)
+--INI--
+opcache.enable=1
+opcache.enable_cli=1
+--SKIPIF--
+?php require_once('skipif.inc'); ?
+--FILE--
+?php 
+include 'bug64482.inc';
+echo \n;
+include 'php://filter/read=string.toupper/resource=bug64482.inc';
+echo \n;
+?
+--EXPECT--
+Dynamic include
+DYNAMIC INCLUDE


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] com php-src: Fixed copy/paste mistake: ext/opcache/ZendAccelerator.c

2013-03-25 Thread Dmitry Stogov
Commit:f17156c2d1af7e126b92c21d31eef4f18b66821d
Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 13:30:45 
+0400
Parents:   0a00d292569a8fbd2d5c96c9d141b23ae916f00b
Branches:  PHP-5.5 master

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=f17156c2d1af7e126b92c21d31eef4f18b66821d

Log:
Fixed copy/paste mistake

Changed paths:
  M  ext/opcache/ZendAccelerator.c


Diff:
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c
index bfe9d67..694bbed 100644
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@ -137,7 +137,7 @@ static inline int is_stream_path(const char *filename)
 static inline int is_cachable_stream_path(const char *filename)
 {
return memcmp(filename, file://, sizeof(file://) - 1) == 0 ||
-  memcmp(filename, phar://, sizeof(file://) - 1) == 0;
+  memcmp(filename, phar://, sizeof(phar://) - 1) == 0;
 }
 
 /* O+ overrides PHP chdir() function and remembers the current working 
directory


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] com php-src: add new functions and constants for GD: UPGRADING

2013-03-25 Thread Pierre Joye
Commit:1c662dc303b1d007af0b3df0a58fbf3f01759f72
Author:Pierre Joye pierre@gmail.com Mon, 25 Mar 2013 12:15:46 
+0100
Parents:   439424988148aa9bb4ecabcb6b0f6ac89614f9b1
Branches:  master

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=1c662dc303b1d007af0b3df0a58fbf3f01759f72

Log:
add new functions and constants for GD

Changed paths:
  M  UPGRADING


Diff:
diff --git a/UPGRADING b/UPGRADING
index 350d147..c85ea54 100755
--- a/UPGRADING
+++ b/UPGRADING
@@ -153,6 +153,11 @@ PHP 5.5 UPGRADE NOTES
   - imageflip
   - imagecrop
   - imagecropauto
+  - imagesetinterpolation
+  - imageaffine
+  - imageaffinematrixget
+  - imageaffinematrixconcat
+  - imagescale
 
 - Hash:
   - hash_pbkdf2()
@@ -303,6 +308,35 @@ PHP 5.5 UPGRADE NOTES
 . IMG_CROP_WHITE
 . IMG_CROP_SIDES
 . IMG_CROP_THRESHOLD
+  - Added constants for imagesetinterpolation, used bz imagescale
+imagerotate and imageaffine:
+. IMG_BELL
+. IMG_BESSEL
+. IMG_BILINEAR_FIXED
+. IMG_BICUBIC
+. IMG_BICUBIC_FIXED
+. IMG_BLACKMAN
+. IMG_BOX
+. IMG_BSPLINE
+. IMG_CATMULLROM
+. IMG_GAUSSIAN
+. IMG_GENERALIZED_CUBIC
+. IMG_HERMITE
+. IMG_HAMMING
+. IMG_HANNING
+. IMG_MITCHELL
+. IMG_POWER
+. IMG_QUADRATIC
+. IMG_SINC
+. IMG_NEAREST_NEIGHBOUR
+. IMG_WEIGHTED4
+. IMG_TRIANGLE
+
+IMG_AFFINE_TRANSLATE
+IMG_AFFINE_SCALE
+IMG_AFFINE_ROTATE
+IMG_AFFINE_SHEAR_HORIZONTAL
+IMG_AFFINE_SHEAR_VERTICAL
 
 
 10. Changes to INI File Handling


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] com php-src: conflict: Zend/zend_ini_scanner.c Zend/zend_ini_scanner_defs.h Zend/zend_language_scanner.c Zend/zend_language_scanner_defs.h

2013-03-25 Thread Pierre Joye
Commit:7da6272fe7d0a99fb2713c4fab3d0367c96d3490
Author:Pierre Joye pierre@gmail.com Mon, 25 Mar 2013 12:20:01 
+0100
Parents:   52b4a251b72f7859c2c5584cfa63449c3bb31489 
1c662dc303b1d007af0b3df0a58fbf3f01759f72
Branches:  master

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=7da6272fe7d0a99fb2713c4fab3d0367c96d3490

Log:
conflict

Changed paths:
  MM  Zend/zend_ini_scanner.c
  MM  Zend/zend_ini_scanner_defs.h
  MM  Zend/zend_language_scanner.c
  MM  Zend/zend_language_scanner_defs.h


Diff: Diff exceeded maximum size

--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] com php-src: Merge branch 'PHP-5.3' into PHP-5.4: NEWS Zend/zend_vm_def.h Zend/zend_vm_execute.h

2013-03-25 Thread Dmitry Stogov
Commit:e9f996c00d5cb6448dac1457dd9dae320c16904f
Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 15:23:49 
+0400
Parents:   6f560b0487b48d8364a2077b97e661fd5107054e 
c4686b4de93a89e8265331b0d4a6a7954ccbae95
Branches:  PHP-5.4

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=e9f996c00d5cb6448dac1457dd9dae320c16904f

Log:
Merge branch 'PHP-5.3' into PHP-5.4

* PHP-5.3:
  Fixed bug #63914 (zend_do_fcall_common_helper_SPEC does not handle exceptions 
properly). (Jeff Welch)

Conflicts:
NEWS
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

Bugs:
https://bugs.php.net/63914

Changed paths:
  MM  NEWS
  MM  Zend/zend_vm_def.h
  MM  Zend/zend_vm_execute.h

diff --cc NEWS
index bc132d4,9d5fc6d..c14ea1c
--- a/NEWS
+++ b/NEWS
@@@ -1,16 -1,12 +1,18 @@@
  PHP
NEWS
  
|||
 -?? ??? 2013, PHP 5.3.24
 -
 +?? ??? 2013, PHP 5.4.14
  - Core
 +  . Fixed bug #64432 (more empty delimiter warning in strX methods). 
(Laruence)
 +  . Fixed bug #64417 (ArrayAccess::offsetGet() in a trait causes fatal 
error).
 +(Dmitry)
. Fixed bug #64370 (microtime(true) less than 
$_SERVER['REQUEST_TIME_FLOAT']).
  (Anatol)
 +  . Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 
5.4.11).
 +(Dmitry, Laruence)
 +  . Fixed bug #63976 (Parent class incorrectly using child constant in class
 +property). (Dmitry)
+   . Fixed bug #63914 (zend_do_fcall_common_helper_SPEC does not handle
+ exceptions properly). (Jeff Welch)
. Fixed bug #62343 (Show class_alias In get_declared_classes()) (Dmitry)
  
  - PCRE:
diff --cc Zend/zend_vm_def.h
index e5cdd1d,eed9245..ffa94a1
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@@ -2652,17 -2299,9 +2652,12 @@@ ZEND_VM_HELPER(zend_do_fcall_common_hel
  
zend_arg_types_stack_3_pop(EG(arg_types_stack), EX(called_scope), 
EX(current_object), EX(fbc));
EX(function_state).arguments = 
zend_vm_stack_push_args(opline-extended_value TSRMLS_CC);
 +  LOAD_OPLINE();
 +
 +  if (fbc-type == ZEND_INTERNAL_FUNCTION) {
 +  temp_variable *ret = EX_T(opline-result.var);
  
-   MAKE_STD_ZVAL(ret-var.ptr);
-   ZVAL_NULL(ret-var.ptr);
-   ret-var.ptr_ptr = ret-var.ptr;
-   ret-var.fcall_returned_reference = (fbc-common.fn_flags  
ZEND_ACC_RETURN_REFERENCE) != 0;
- 
 -  if (EX(function_state).function-type == ZEND_INTERNAL_FUNCTION) {
 -  if (EX(function_state).function-common.arg_info) {
 +  if (fbc-common.arg_info) {
zend_uint i=0;
zval **p = (zval**)EX(function_state).arguments;
ulong arg_count = opline-extended_value;
@@@ -2673,34 -2312,37 +2668,41 @@@
}
}
  
-   if (!zend_execute_internal) {
-   /* saves one function call if zend_execute_internal is 
not used */
-   fbc-internal_function.handler(opline-extended_value, 
ret-var.ptr, (fbc-common.fn_flags  ZEND_ACC_RETURN_REFERENCE) ? 
ret-var.ptr : NULL, EX(object), RETURN_VALUE_USED(opline) TSRMLS_CC);
-   } else {
-   zend_execute_internal(EXECUTE_DATA, 
RETURN_VALUE_USED(opline) TSRMLS_CC);
-   }
+   if (EXPECTED(EG(exception) == NULL)) {
 -  ALLOC_INIT_ZVAL(EX_T(opline-result.u.var).var.ptr);
 -  EX_T(opline-result.u.var).var.ptr_ptr = 
EX_T(opline-result.u.var).var.ptr;
 -  EX_T(opline-result.u.var).var.fcall_returned_reference 
= EX(function_state).function-common.return_reference;
++  MAKE_STD_ZVAL(ret-var.ptr);
++  ZVAL_NULL(ret-var.ptr);
++  ret-var.ptr_ptr = ret-var.ptr;
++  ret-var.fcall_returned_reference = 
(fbc-common.fn_flags  ZEND_ACC_RETURN_REFERENCE) != 0;
  
-   if (!RETURN_VALUE_USED(opline)) {
-   zval_ptr_dtor(ret-var.ptr);
+   if (!zend_execute_internal) {
+   /* saves one function call if 
zend_execute_internal is not used */
 -  ((zend_internal_function *) 
EX(function_state).function)-handler(opline-extended_value, 
EX_T(opline-result.u.var).var.ptr, 
EX(function_state).function-common.return_reference?EX_T(opline-result.u.var).var.ptr:NULL,
 EX(object), RETURN_VALUE_USED(opline) TSRMLS_CC);
++  
fbc-internal_function.handler(opline-extended_value, ret-var.ptr, 
(fbc-common.fn_flags  ZEND_ACC_RETURN_REFERENCE) ? ret-var.ptr : NULL, 
EX(object), RETURN_VALUE_USED(opline) TSRMLS_CC);
+   } else {
+   zend_execute_internal(EXECUTE_DATA, 
RETURN_VALUE_USED(opline) TSRMLS_CC);
+   

[PHP-CVS] com php-src: Merge branch 'PHP-5.4' into PHP-5.5: Zend/zend_vm_def.h Zend/zend_vm_execute.h

2013-03-25 Thread Dmitry Stogov
Commit:96e5f5eb05af913f8a9b9297393f153c561bf51b
Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 15:47:45 
+0400
Parents:   6a7088fd187f071df47fa09c6e215c916bfd699c 
e9f996c00d5cb6448dac1457dd9dae320c16904f
Branches:  PHP-5.5 master

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=96e5f5eb05af913f8a9b9297393f153c561bf51b

Log:
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  Fixed bug #63914 (zend_do_fcall_common_helper_SPEC does not handle exceptions 
properly). (Jeff Welch)

Conflicts:
NEWS
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

Bugs:
https://bugs.php.net/63914

Changed paths:
  MM  Zend/zend_vm_def.h
  MM  Zend/zend_vm_execute.h

diff --cc Zend/zend_vm_def.h
index 206a233,ffa94a1..31a5fac
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@@ -1829,266 -1819,6 +1829,268 @@@ ZEND_VM_HANDLER(39, ZEND_ASSIGN_REF, VA
ZEND_VM_NEXT_OPCODE();
  }
  
 +ZEND_VM_HELPER(zend_leave_helper, ANY, ANY)
 +{
 +  zend_bool nested = EX(nested);
 +  zend_op_array *op_array = EX(op_array);
 +
 +  EG(current_execute_data) = EX(prev_execute_data);
 +  EG(opline_ptr) = NULL;
 +  if (!EG(active_symbol_table)) {
 +  i_free_compiled_variables(execute_data);
 +  }
 +
 +  zend_vm_stack_free((char*)execute_data - 
(ZEND_MM_ALIGNED_SIZE(sizeof(temp_variable)) * op_array-T) TSRMLS_CC);
 +
 +  if ((op_array-fn_flags  ZEND_ACC_CLOSURE)  op_array-prototype) {
 +  zval_ptr_dtor((zval**)op_array-prototype);
 +  }
 +
 +  if (nested) {
 +  execute_data = EG(current_execute_data);
 +  }
 +  if (nested) {
 +  USE_OPLINE
 +
 +  LOAD_REGS();
 +  LOAD_OPLINE();
 +  if (UNEXPECTED(opline-opcode == ZEND_INCLUDE_OR_EVAL)) {
 +
 +  EX(function_state).function = (zend_function *) 
EX(op_array);
 +  EX(function_state).arguments = NULL;
 +
 +  EG(opline_ptr) = EX(opline);
 +  EG(active_op_array) = EX(op_array);
 +  EG(return_value_ptr_ptr) = EX(original_return_value);
 +  destroy_op_array(op_array TSRMLS_CC);
 +  efree(op_array);
 +  if (UNEXPECTED(EG(exception) != NULL)) {
 +  zend_throw_exception_internal(NULL TSRMLS_CC);
 +  HANDLE_EXCEPTION_LEAVE();
 +  }
 +
 +  ZEND_VM_INC_OPCODE();
 +  ZEND_VM_LEAVE();
 +  } else {
 +  EG(opline_ptr) = EX(opline);
 +  EG(active_op_array) = EX(op_array);
 +  EG(return_value_ptr_ptr) = EX(original_return_value);
 +  if (EG(active_symbol_table)) {
 +  
zend_clean_and_cache_symbol_table(EG(active_symbol_table) TSRMLS_CC);
 +  }
 +  EG(active_symbol_table) = EX(symbol_table);
 +
 +  EX(function_state).function = (zend_function *) 
EX(op_array);
 +  EX(function_state).arguments = NULL;
 +
 +  if (EG(This)) {
 +  if (UNEXPECTED(EG(exception) != NULL)  
EX(call)-is_ctor_call) {
 +  if (EX(call)-is_ctor_result_used) {
 +  Z_DELREF_P(EG(This));
 +  }
 +  if (Z_REFCOUNT_P(EG(This)) == 1) {
 +  
zend_object_store_ctor_failed(EG(This) TSRMLS_CC);
 +  }
 +  }
 +  zval_ptr_dtor(EG(This));
 +  }
 +  EG(This) = EX(current_this);
 +  EG(scope) = EX(current_scope);
 +  EG(called_scope) = EX(current_called_scope);
 +
 +  EX(call)--;
 +
 +  zend_vm_stack_clear_multiple(1 TSRMLS_CC);
 +
 +  if (UNEXPECTED(EG(exception) != NULL)) {
 +  zend_throw_exception_internal(NULL TSRMLS_CC);
 +  if (RETURN_VALUE_USED(opline)  
EX_T(opline-result.var).var.ptr) {
 +  
zval_ptr_dtor(EX_T(opline-result.var).var.ptr);
 +  }
 +  HANDLE_EXCEPTION_LEAVE();
 +  }
 +
 +  ZEND_VM_INC_OPCODE();
 +  ZEND_VM_LEAVE();
 +  }
 +  }
 +  ZEND_VM_RETURN();
 +}
 +
 +ZEND_VM_HELPER(zend_do_fcall_common_helper, ANY, ANY)
 +{
 +  USE_OPLINE
 +  zend_bool should_change_scope = 0;
 +  zend_function *fbc = EX(function_state).function;
 +
 +  SAVE_OPLINE();
 +  EX(object) = EX(call)-object;
 + 

[PHP-CVS] com php-src: back to dev (7.0.2-dev): ext/opcache/ZendAccelerator.h

2013-03-25 Thread Dmitry Stogov
Commit:6a7088fd187f071df47fa09c6e215c916bfd699c
Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 13:57:50 
+0400
Parents:   f17156c2d1af7e126b92c21d31eef4f18b66821d
Branches:  PHP-5.5 master

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=6a7088fd187f071df47fa09c6e215c916bfd699c

Log:
back to dev (7.0.2-dev)

Changed paths:
  M  ext/opcache/ZendAccelerator.h


Diff:
diff --git a/ext/opcache/ZendAccelerator.h b/ext/opcache/ZendAccelerator.h
index c611d65..f9b51b0 100644
--- a/ext/opcache/ZendAccelerator.h
+++ b/ext/opcache/ZendAccelerator.h
@@ -27,7 +27,7 @@
 #endif
 
 #define ACCELERATOR_PRODUCT_NAME   Zend OPcache
-#define ACCELERATOR_VERSION 7.0.1
+#define ACCELERATOR_VERSION 7.0.2-dev
 /* 2 - added Profiler support, on 20010712 */
 /* 3 - added support for Optimizer's encoded-only-files mode */
 /* 4 - works with the new Optimizer, that supports the file format with 
licenses */


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] com php-src: Merge branch 'PHP-5.5': Zend/zend_vm_def.h Zend/zend_vm_execute.h

2013-03-25 Thread Dmitry Stogov
Commit:a4c386f32ce8b8141ad4e8c70f53ea1aba1a1ffc
Author:Dmitry Stogov dmi...@zend.com Mon, 25 Mar 2013 15:48:13 
+0400
Parents:   d74a192bd4b59da4525878f538de59d22a5a9ca7 
96e5f5eb05af913f8a9b9297393f153c561bf51b
Branches:  master

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=a4c386f32ce8b8141ad4e8c70f53ea1aba1a1ffc

Log:
Merge branch 'PHP-5.5'

* PHP-5.5:
  Fixed bug #63914 (zend_do_fcall_common_helper_SPEC does not handle exceptions 
properly). (Jeff Welch)

Bugs:
https://bugs.php.net/63914

Changed paths:
  MM  Zend/zend_vm_def.h
  MM  Zend/zend_vm_execute.h


Diff:



--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] com php-src: Fixed bug #64515 (Memoryleak when using the same variablename 2times in function declaration): NEWS Zend/tests/bug64515.phpt Zend/zend_vm_def.h Zend/zend_vm_execute.h

2013-03-25 Thread Xinchen Hui
Commit:5e9377ebd57f419de7b421878df540795ace01ef
Author:Xinchen Hui larue...@php.net Tue, 26 Mar 2013 11:44:57 
+0800
Parents:   e9f996c00d5cb6448dac1457dd9dae320c16904f
Branches:  PHP-5.4

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=5e9377ebd57f419de7b421878df540795ace01ef

Log:
Fixed bug #64515 (Memoryleak when using the same variablename 2times in 
function declaration)

Bugs:
https://bugs.php.net/64515

Changed paths:
  M  NEWS
  A  Zend/tests/bug64515.phpt
  M  Zend/zend_vm_def.h
  M  Zend/zend_vm_execute.h


Diff:
diff --git a/NEWS b/NEWS
index c14ea1c..010b8f1 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,8 @@ PHP 
   NEWS
 |||
 ?? ??? 2013, PHP 5.4.14
 - Core
+  . Fixed bug #64515 (Memoryleak when using the same variablename 2times in
+function declaration). (Laruence)
   . Fixed bug #64432 (more empty delimiter warning in strX methods). (Laruence)
   . Fixed bug #64417 (ArrayAccess::offsetGet() in a trait causes fatal error).
 (Dmitry)
diff --git a/Zend/tests/bug64515.phpt b/Zend/tests/bug64515.phpt
new file mode 100644
index 000..d056c74
--- /dev/null
+++ b/Zend/tests/bug64515.phpt
@@ -0,0 +1,10 @@
+--TEST--
+Bug #64515 (Memoryleak when using the same variablename 2times in function 
declaration)
+--FILE--
+?php
+function foo($unused = null, $unused = null, $arg = array()) {
+   return 1;
+}
+foo();
+?
+--EXPECT--
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index ffa94a1..3934752 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -3234,7 +3234,7 @@ ZEND_VM_HANDLER(64, ZEND_RECV_INIT, ANY, CONST)
 
zend_verify_arg_type((zend_function *) EG(active_op_array), arg_num, 
assignment_value, opline-extended_value TSRMLS_CC);
var_ptr = _get_zval_ptr_ptr_cv_BP_VAR_W(EX_CVs(), opline-result.var 
TSRMLS_CC);
-   Z_DELREF_PP(var_ptr);
+   zval_ptr_dtor(var_ptr);
*var_ptr = assignment_value;
 
CHECK_EXCEPTION();
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 1860a0f..81d3688 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -1374,7 +1374,7 @@ static int ZEND_FASTCALL  
ZEND_RECV_INIT_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_
 
zend_verify_arg_type((zend_function *) EG(active_op_array), arg_num, 
assignment_value, opline-extended_value TSRMLS_CC);
var_ptr = _get_zval_ptr_ptr_cv_BP_VAR_W(EX_CVs(), opline-result.var 
TSRMLS_CC);
-   Z_DELREF_PP(var_ptr);
+   zval_ptr_dtor(var_ptr);
*var_ptr = assignment_value;
 
CHECK_EXCEPTION();


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] com php-src: Fixed bug #64515 (Memoryleak when using the same variablename 2times in function declaration): NEWS Zend/tests/bug64515.phpt Zend/zend_vm_def.h Zend/zend_vm_execute.h

2013-03-25 Thread Hannes Magnusson
On Mon, Mar 25, 2013 at 8:44 PM, Xinchen Hui larue...@php.net wrote:
 Commit:5e9377ebd57f419de7b421878df540795ace01ef
 Author:Xinchen Hui larue...@php.net Tue, 26 Mar 2013 11:44:57 
 +0800
 Parents:   e9f996c00d5cb6448dac1457dd9dae320c16904f
 Branches:  PHP-5.4

 Link:   
 http://git.php.net/?p=php-src.git;a=commitdiff;h=5e9377ebd57f419de7b421878df540795ace01ef

 Log:
 Fixed bug #64515 (Memoryleak when using the same variablename 2times in 
 function declaration)

 Bugs:
 https://bugs.php.net/64515

 Changed paths:
   M  NEWS
   A  Zend/tests/bug64515.phpt
   M  Zend/zend_vm_def.h
   M  Zend/zend_vm_execute.h


 Diff:
 diff --git a/NEWS b/NEWS
 index c14ea1c..010b8f1 100644
 --- a/NEWS
 +++ b/NEWS
 @@ -2,6 +2,8 @@ PHP   
  NEWS
  
 |||
  ?? ??? 2013, PHP 5.4.14
  - Core
 +  . Fixed bug #64515 (Memoryleak when using the same variablename 2times in
 +function declaration). (Laruence)
. Fixed bug #64432 (more empty delimiter warning in strX methods). 
 (Laruence)
. Fixed bug #64417 (ArrayAccess::offsetGet() in a trait causes fatal 
 error).
  (Dmitry)
 diff --git a/Zend/tests/bug64515.phpt b/Zend/tests/bug64515.phpt
 new file mode 100644
 index 000..d056c74
 --- /dev/null
 +++ b/Zend/tests/bug64515.phpt
 @@ -0,0 +1,10 @@
 +--TEST--
 +Bug #64515 (Memoryleak when using the same variablename 2times in function 
 declaration)
 +--FILE--
 +?php
 +function foo($unused = null, $unused = null, $arg = array()) {
 +   return 1;
 +}
 +foo();
 +?
 +--EXPECT--


Please include a ==DONE== section or something, otherwise this test
won't fail even if it segfaults.

-Hannes

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] com php-src: Update test script: Zend/tests/bug64515.phpt

2013-03-25 Thread Xinchen Hui
Commit:1182a3356c6c1989a686aab5258e1d47c56b2955
Author:Xinchen Hui larue...@php.net Tue, 26 Mar 2013 11:50:47 
+0800
Parents:   5e9377ebd57f419de7b421878df540795ace01ef
Branches:  PHP-5.4

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=1182a3356c6c1989a686aab5258e1d47c56b2955

Log:
Update test script

Changed paths:
  M  Zend/tests/bug64515.phpt


Diff:
diff --git a/Zend/tests/bug64515.phpt b/Zend/tests/bug64515.phpt
index d056c74..5390a6c 100644
--- a/Zend/tests/bug64515.phpt
+++ b/Zend/tests/bug64515.phpt
@@ -6,5 +6,7 @@ function foo($unused = null, $unused = null, $arg = array()) {
return 1;
 }
 foo();
+echo okey;
 ?
 --EXPECT--
+okey


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] com php-src: Fixed bug #64515 (Memoryleak when using the same variablename 2times in function declaration): NEWS Zend/tests/bug64515.phpt Zend/zend_vm_def.h Zend/zend_vm_execute.h

2013-03-25 Thread Xinchen Hui
Commit:ed315823019c8111847fb9a24293dc758ead7c3a
Author:Xinchen Hui larue...@php.net Tue, 26 Mar 2013 12:02:48 
+0800
Parents:   0496ad31acf067910c9d17117290d168617f845a
Branches:  PHP-5.5

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=ed315823019c8111847fb9a24293dc758ead7c3a

Log:
Fixed bug #64515 (Memoryleak when using the same variablename 2times in 
function declaration)

Bugs:
https://bugs.php.net/64515

Changed paths:
  M  NEWS
  A  Zend/tests/bug64515.phpt
  M  Zend/zend_vm_def.h
  M  Zend/zend_vm_execute.h


Diff:
diff --git a/NEWS b/NEWS
index 09ce1d1..e33c7a3 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,8 @@ PHP 
   NEWS
 ?? ??? 20??, PHP 5.5.0 Beta 2
 
 - Core:
+  . Fixed bug #64515 (Memoryleak when using the same variablename 2times in
+function declaration). (Laruence)
   . Fixed bug #64503 (Compilation fails with error: conflicting types for
 'zendparse'). (Laruence)
   . Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11).
diff --git a/Zend/tests/bug64515.phpt b/Zend/tests/bug64515.phpt
new file mode 100644
index 000..5390a6c
--- /dev/null
+++ b/Zend/tests/bug64515.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Bug #64515 (Memoryleak when using the same variablename 2times in function 
declaration)
+--FILE--
+?php
+function foo($unused = null, $unused = null, $arg = array()) {
+   return 1;
+}
+foo();
+echo okey;
+?
+--EXPECT--
+okey
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 31a5fac..7371d0e 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -3262,7 +3262,7 @@ ZEND_VM_HANDLER(64, ZEND_RECV_INIT, ANY, CONST)
 
zend_verify_arg_type((zend_function *) EG(active_op_array), arg_num, 
assignment_value, opline-extended_value TSRMLS_CC);
var_ptr = _get_zval_ptr_ptr_cv_BP_VAR_W(execute_data, 
opline-result.var TSRMLS_CC);
-   Z_DELREF_PP(var_ptr);
+   zval_ptr_dtor(var_ptr);
*var_ptr = assignment_value;
 
CHECK_EXCEPTION();
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 7fe6ee1..8703dec 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -1406,7 +1406,7 @@ static int ZEND_FASTCALL  
ZEND_RECV_INIT_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_
 
zend_verify_arg_type((zend_function *) EG(active_op_array), arg_num, 
assignment_value, opline-extended_value TSRMLS_CC);
var_ptr = _get_zval_ptr_ptr_cv_BP_VAR_W(execute_data, 
opline-result.var TSRMLS_CC);
-   Z_DELREF_PP(var_ptr);
+   zval_ptr_dtor(var_ptr);
*var_ptr = assignment_value;
 
CHECK_EXCEPTION();


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] com php-src: Merge branch 'PHP-5.5': Zend/zend_vm_def.h Zend/zend_vm_execute.h

2013-03-25 Thread Xinchen Hui
Commit:c2afd2765bb26f25f265c3c76a1e9918b2f341e2
Author:Xinchen Hui larue...@php.net Tue, 26 Mar 2013 12:03:37 
+0800
Parents:   c356038c6eb1d970e716067aaf259c21131f963e 
ed315823019c8111847fb9a24293dc758ead7c3a
Branches:  master

Link:   
http://git.php.net/?p=php-src.git;a=commitdiff;h=c2afd2765bb26f25f265c3c76a1e9918b2f341e2

Log:
Merge branch 'PHP-5.5'

Changed paths:
  MM  Zend/zend_vm_def.h
  MM  Zend/zend_vm_execute.h


Diff:



--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php