]> granicus.if.org Git - php/commitdiff
Paramter are references
authorXinchen Hui <laruence@gmail.com>
Mon, 3 Mar 2014 15:14:57 +0000 (23:14 +0800)
committerXinchen Hui <laruence@gmail.com>
Mon, 3 Mar 2014 15:14:57 +0000 (23:14 +0800)
ext/standard/exec.c

index fb33812c19f240a13faeff4a5a24dbc081ad6510..bc1f06729057b609b0353b25754ddd04f18cd9ed 100644 (file)
@@ -192,6 +192,7 @@ static void php_exec_ex(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{ */
        if (!ret_array) {
                ret = php_exec(mode, cmd, NULL, return_value TSRMLS_CC);
        } else {
+               ret_array = Z_REFVAL_P(ret_array);
                if (Z_TYPE_P(ret_array) != IS_ARRAY) {
                        zval_dtor(ret_array);
                        array_init(ret_array);
@@ -199,6 +200,7 @@ static void php_exec_ex(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{ */
                ret = php_exec(2, cmd, ret_array, return_value TSRMLS_CC);
        }
        if (ret_code) {
+               ret_code = Z_REFVAL_P(ret_code);
                zval_dtor(ret_code);
                ZVAL_LONG(ret_code, ret);
        }