Browse Source

Fixed Bug #53629 (memory leak inside highlight_string()).

experimental/with_scalar_types
Ilia Alshanetsky 16 years ago
parent
commit
7a2157cf37
  1. 31
      Zend/tests/bug53629.phpt
  2. 712
      Zend/zend_language_scanner.c
  3. 6
      Zend/zend_language_scanner.l
  4. 2
      Zend/zend_language_scanner_defs.h

31
Zend/tests/bug53629.phpt

@ -0,0 +1,31 @@
--TEST--
Bug #53629 (memory leak inside highlight_string())
--FILE--
<?php
$str = '
<?php
class foo {
public $bar = <<<EOT
bar
EOT;
}
?>
';
$str2 = '
<?php
var_dump(array(<<<EOD
foobar!
EOD
));
?>
';
highlight_string($str, true);
highlight_string($str2, true);
echo "Done\n";
?>
--EXPECT--
Done

712
Zend/zend_language_scanner.c
File diff suppressed because it is too large
View File

6
Zend/zend_language_scanner.l

@ -218,6 +218,12 @@ ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
SCNG(input_filter) = lex_state->input_filter;
SCNG(output_filter) = lex_state->output_filter;
SCNG(script_encoding) = lex_state->script_encoding;
if (CG(heredoc)) {
efree(CG(heredoc));
CG(heredoc) = NULL;
CG(heredoc_len) = 0;
}
}
ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC)

2
Zend/zend_language_scanner_defs.h

@ -1,4 +1,4 @@
/* Generated by re2c 0.13.5 on Mon Dec 20 01:33:18 2010 */
/* Generated by re2c 0.13.5 on Mon Jan 3 06:07:39 2011 */
#line 3 "Zend/zend_language_scanner_defs.h"
enum YYCONDTYPE {

Loading…
Cancel
Save