]> granicus.if.org Git - php/commitdiff
Revert "Use zend_get_executed_filename_ex"
authorXinchen Hui <laruence@gmail.com>
Thu, 2 Nov 2017 04:12:40 +0000 (12:12 +0800)
committerXinchen Hui <laruence@gmail.com>
Thu, 2 Nov 2017 04:12:40 +0000 (12:12 +0800)
This reverts commit 2a37625c20032d54af55a88d54d1a3a1ecc068d1.

Zend/zend_constants.c
Zend/zend_exceptions.c
ext/standard/assert.c
ext/standard/mail.c

index 219e31381386be6e6460d0d76fc51880ea1a8429..100d0a263bb1cac574b2a60ecb0d55b68cf3ff6b 100644 (file)
@@ -210,13 +210,15 @@ static zend_constant *zend_get_special_constant(const char *name, size_t name_le
                return NULL;
        } else if (name_len == sizeof("__COMPILER_HALT_OFFSET__")-1 &&
                  !memcmp(name, "__COMPILER_HALT_OFFSET__", sizeof("__COMPILER_HALT_OFFSET__")-1)) {
-               zend_string *cfilename;
+               const char *cfilename;
                zend_string *haltname;
+               size_t clen;
 
-               cfilename = zend_get_executed_filename_ex();
+               cfilename = zend_get_executed_filename();
+               clen = strlen(cfilename);
                /* check for __COMPILER_HALT_OFFSET__ */
                haltname = zend_mangle_property_name(haltoff,
-                       sizeof("__COMPILER_HALT_OFFSET__") - 1, ZSTR_VAL(cfilename), ZSTR_LEN(cfilename), 0);
+                       sizeof("__COMPILER_HALT_OFFSET__") - 1, cfilename, clen, 0);
                c = zend_hash_find_ptr(EG(zend_constants), haltname);
                zend_string_free(haltname);
                return c;
index 20eb3c520063ebdd32f8a5103f8a4ba6c4b949f1..c892f701e3e754321187a9cbadbba91482768f50 100644 (file)
@@ -222,8 +222,9 @@ static zend_object *zend_default_exception_new_ex(zend_class_entry *class_type,
        base_ce = i_get_exception_base(&obj);
 
        if (EXPECTED(class_type != zend_ce_parse_error || !(filename = zend_get_compiled_filename()))) {
-               ZVAL_STR(&tmp, zend_get_executed_filename_ex());
+               ZVAL_STRING(&tmp, zend_get_executed_filename());
                zend_update_property_ex(base_ce, &obj, ZSTR_KNOWN(ZEND_STR_FILE), &tmp);
+               zval_ptr_dtor(&tmp);
                ZVAL_LONG(&tmp, zend_get_executed_lineno());
                zend_update_property_ex(base_ce, &obj, ZSTR_KNOWN(ZEND_STR_LINE), &tmp);
        } else {
index a03418030d1b89b98bfd1412788d535ad5657591..87462185a8ae85d3f02744512f1aa811c9fc3ff5 100644 (file)
@@ -219,9 +219,11 @@ PHP_FUNCTION(assert)
                zval *args = safe_emalloc(!description ? 3 : 4, sizeof(zval), 0);
                zval retval;
                int i;
+               uint32_t lineno = zend_get_executed_lineno();
+               const char *filename = zend_get_executed_filename();
 
-               ZVAL_STR_COPY(&args[0], zend_get_executed_filename_ex());
-               ZVAL_LONG (&args[1], zend_get_executed_lineno());
+               ZVAL_STRING(&args[0], SAFE_STRING(filename));
+               ZVAL_LONG (&args[1], lineno);
                ZVAL_STRING(&args[2], SAFE_STRING(myeval));
 
                ZVAL_FALSE(&retval);
index 8fe3de66229a74a4687fbc0f593d18571ddde0f3..3762bb8bda790f94a8411402f3aae557194eaa01 100644 (file)
@@ -521,10 +521,10 @@ PHPAPI int php_mail(char *to, char *subject, char *message, char *headers, char
        }
 
        if (PG(mail_x_header)) {
-               zend_string *tmp = zend_get_executed_filename_ex();
+               const char *tmp = zend_get_executed_filename();
                zend_string *f;
 
-               f = php_basename(ZSTR_VAL(tmp), ZSTR_LEN(tmp), NULL, 0);
+               f = php_basename(tmp, strlen(tmp), NULL, 0);
 
                if (headers != NULL && *headers) {
                        spprintf(&hdr, 0, "X-PHP-Originating-Script: " ZEND_LONG_FMT ":%s\n%s", php_getuid(), ZSTR_VAL(f), headers);