summaryrefslogtreecommitdiffstats
path: root/xdebug-upstream.patch
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2014-12-03 14:00:12 +0100
committerRemi Collet <fedora@famillecollet.com>2014-12-03 14:00:12 +0100
commit35437f92b50184af0cb6b6dcdabb1f517729a669 (patch)
tree1410b73328f3adfb74e0474f55d61d5d2c286608 /xdebug-upstream.patch
parent0f3ba72fe1ad3512aa12cf2077be6f0cb344ac15 (diff)
php-pecl-xdebug: more upstream patch, thanks Derick
Diffstat (limited to 'xdebug-upstream.patch')
-rw-r--r--xdebug-upstream.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/xdebug-upstream.patch b/xdebug-upstream.patch
index aa26c76..f319af3 100644
--- a/xdebug-upstream.patch
+++ b/xdebug-upstream.patch
@@ -46,3 +46,44 @@ index 1b3517c..b8c9d5a 100644
xdebug_llist_init(&xg->server, xdebug_superglobals_dump_dtor);
xdebug_llist_init(&xg->get, xdebug_superglobals_dump_dtor);
+From 693cfae8345fd1554a15a933c5aaa26e5c70cb93 Mon Sep 17 00:00:00 2001
+From: Derick Rethans <github@derickrethans.nl>
+Date: Wed, 3 Dec 2014 12:36:10 +0000
+Subject: [PATCH] Running scripts in RINIT is really not a good idea guys!
+
+---
+ xdebug.c | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/xdebug.c b/xdebug.c
+index 3c1340c..8867507 100644
+--- a/xdebug.c
++++ b/xdebug.c
+@@ -316,6 +316,18 @@ static void php_xdebug_init_globals (zend_xdebug_globals *xg TSRMLS_DC)
+ xg->in_at = 0;
+ xg->active_execute_data = NULL;
+ xg->active_op_array = NULL;
++ xg->no_exec = 0;
++ xg->context.program_name = NULL;
++ xg->context.list.last_file = NULL;
++ xg->context.list.last_line = 0;
++ xg->context.do_break = 0;
++ xg->context.do_step = 0;
++ xg->context.do_next = 0;
++ xg->context.do_finish = 0;
++ xg->in_execution = 0;
++ xg->remote_enabled = 0;
++ xg->breakpoints_allowed = 0;
++ xg->profiler_enabled = 0;
+
+ xdebug_llist_init(&xg->server, xdebug_superglobals_dump_dtor);
+ xdebug_llist_init(&xg->get, xdebug_superglobals_dump_dtor);
+@@ -1392,7 +1404,7 @@ void xdebug_execute_ex(zend_execute_data *execute_data TSRMLS_DC)
+ #endif
+ fse->This = EG(This);
+
+- if (XG(remote_enabled) || XG(collect_vars) || XG(show_local_vars)) {
++ if (XG(stack) && (XG(remote_enabled) || XG(collect_vars) || XG(show_local_vars))) {
+ /* Because include/require is treated as a stack level, we have to add used
+ * variables in include/required files to all the stack levels above, until
+ * we hit a function or the top level stack. This is so that the variables