summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2001-01-03 23:00:01 +0000
committerZeev Suraski <zeev@php.net>2001-01-03 23:00:01 +0000
commitf3258b2426e1c8e66a0cc335fb1839de98c12451 (patch)
tree9849b4915420d008dddbbbec925067da9cf5c347
parent43a7643453bf9ef0b32f4505781a45b7b393bf71 (diff)
downloadphp-git-f3258b2426e1c8e66a0cc335fb1839de98c12451.tar.gz
Fix another case of possible line number corruption
-rw-r--r--Zend/zend_language_scanner.l4
1 files changed, 3 insertions, 1 deletions
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index 5153276089..56e4d27f21 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -354,7 +354,6 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type CLS
CG(active_op_array) = op_array;
compiler_result = zendparse(CLS_C);
zend_do_return(&retval_znode, 0 CLS_CC);
- restore_lexical_state(&original_lex_state CLS_CC);
CG(in_compilation) = original_in_compilation;
if (compiler_result==1) { /* parser error */
CG(unclean_shutdown) = 1;
@@ -372,6 +371,9 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type CLS
retval = NULL;
}
}
+ if (compilation_successful) {
+ restore_lexical_state(&original_lex_state CLS_CC);
+ }
return retval;
}