summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>1999-05-25 22:55:13 +0000
committerZeev Suraski <zeev@php.net>1999-05-25 22:55:13 +0000
commit033858e13d77186b2a4ce1b1833955e43d9d4b74 (patch)
treed1b1be191b4093a5ef9012263530636baa7cd2be
parentcf58b7ef1615d2456fc2e3aa9319d8aae11f880f (diff)
downloadphp-git-033858e13d77186b2a4ce1b1833955e43d9d4b74.tar.gz
Avoid crashing if an error occurs before we open the first file.
-rw-r--r--Zend/zend_execute_API.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index 9e8b51ec10..6f20f976b0 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -111,6 +111,8 @@ void init_executor(CLS_D ELS_DC)
globals->is_ref = 0;
zend_hash_update(&EG(symbol_table), "GLOBALS", sizeof("GLOBALS"), &globals, sizeof(zval *), NULL);
}
+
+ EG(opline_ptr) = NULL;
}
@@ -164,13 +166,21 @@ ZEND_API char *get_active_function_name(ELS_D)
ZEND_API char *zend_get_executed_filename(ELS_D)
{
- return active_opline->filename;
+ if (EG(opline_ptr)) {
+ return active_opline->filename;
+ } else {
+ return "[no active file]";
+ }
}
ZEND_API uint zend_get_executed_lineno(ELS_D)
{
- return active_opline->lineno;
+ if (EG(opline_ptr)) {
+ return active_opline->lineno;
+ } else {
+ return 0;
+ }
}