From: Dmitry Stogov Date: Thu, 2 Nov 2017 11:13:28 +0000 (+0300) Subject: Added exceptions for ZEND_RC_DEBUG X-Git-Tag: php-7.3.0alpha1~1105 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b59c9fb45baa5682e351c96c8e72c68ebc08298d;p=php Added exceptions for ZEND_RC_DEBUG --- diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c index b212679ab9..2eefb18d94 100644 --- a/sapi/phpdbg/phpdbg.c +++ b/sapi/phpdbg/phpdbg.c @@ -2096,6 +2096,7 @@ phpdbg_out: if (PHPDBG_G(exec) && strcmp("Standard input code", PHPDBG_G(exec)) == SUCCESS) { /* i.e. execution context has been read from stdin - back it up */ phpdbg_file_source *data = zend_hash_str_find_ptr(&PHPDBG_G(file_sources), PHPDBG_G(exec), PHPDBG_G(exec_len)); backup_phpdbg_compile = zend_string_alloc(data->len + 2, 1); + GC_MAKE_PERSISTENT_LOCAL(backup_phpdbg_compile); sprintf(ZSTR_VAL(backup_phpdbg_compile), "?>%.*s", (int) data->len, data->buf); } diff --git a/sapi/phpdbg/phpdbg_watch.c b/sapi/phpdbg/phpdbg_watch.c index 6267f4fadf..feeb77a445 100644 --- a/sapi/phpdbg/phpdbg_watch.c +++ b/sapi/phpdbg/phpdbg_watch.c @@ -326,6 +326,7 @@ void phpdbg_watch_backup_data(phpdbg_watchpoint_t *watch) { zend_string_release(watch->backup.str); } watch->backup.str = zend_string_init((char *) watch->addr.ptr + XtOffsetOf(zend_string, val) - XtOffsetOf(zend_string, len), *(size_t *) watch->addr.ptr, 1); + GC_MAKE_PERSISTENT_LOCAL(watch->backup.str); break; case WATCH_ON_HASHTABLE: memcpy((char *) &watch->backup + HT_WATCH_OFFSET, watch->addr.ptr, watch->size);