summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2009-11-17 11:18:40 +0000
committerFelipe Pena <felipe@php.net>2009-11-17 11:18:40 +0000
commit5dd6b9ffa909aae050dfaa6a95cceea2d376a794 (patch)
tree009cc3c2e08c2ba3c32ca6b90ef4d6de9224d1c9
parentc8faf7e13b91159a28058140a692b28376fb4a08 (diff)
downloadphp-git-5dd6b9ffa909aae050dfaa6a95cceea2d376a794.tar.gz
- Fixed bug #50145 (crash while running bug35634.phpt)
-rw-r--r--NEWS1
-rw-r--r--Zend/zend_language_scanner.c10
-rw-r--r--Zend/zend_language_scanner.l8
3 files changed, 10 insertions, 9 deletions
diff --git a/NEWS b/NEWS
index 01bf45584f..7f943285ba 100644
--- a/NEWS
+++ b/NEWS
@@ -23,6 +23,7 @@ PHP NEWS
- Fixed bug #50174 (Incorrectly matched docComment). (Felipe)
- Fixed bug #50158 (FILTER_VALIDATE_EMAIL fails with valid addresses
containing = or ?). (Pierrick)
+- Fixed bug #50145 (crash while running bug35634.phpt). (Felipe)
- Fixed bug #50087 (NSAPI performance improvements). (Uwe Schindler)
- Fixed bug #50152 (ReflectionClass::hasProperty behaves like isset() not
property_exists). (Felipe)
diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c
index b340b1d591..25d7abf0b2 100644
--- a/Zend/zend_language_scanner.c
+++ b/Zend/zend_language_scanner.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Thu Sep 10 15:34:33 2009 */
+/* Generated by re2c 0.13.5 on Mon Nov 16 23:30:01 2009 */
#line 1 "Zend/zend_language_scanner.l"
/*
+----------------------------------------------------------------------+
@@ -685,12 +685,12 @@ ZEND_API int zend_multibyte_read_script(unsigned char *buf, size_t n TSRMLS_DC)
{
if (SCNG(script_org)) {
efree(SCNG(script_org));
+ SCNG(script_org) = NULL;
}
- SCNG(script_org_size) = n;
- SCNG(script_org) = (unsigned char*)erealloc(SCNG(script_org), SCNG(script_org_size));
- memcpy(SCNG(script_org) + SCNG(script_org_size) - n, buf, n);
+ SCNG(script_org_size) = n;
- SCNG(script_org) = (unsigned char*)erealloc(SCNG(script_org), SCNG(script_org_size) + 1);
+ SCNG(script_org) = (unsigned char*)emalloc(SCNG(script_org_size) + 1);
+ memcpy(SCNG(script_org), buf, n);
*(SCNG(script_org)+SCNG(script_org_size)) = '\0';
return 0;
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index 6717521ebd..98a27421cb 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -683,12 +683,12 @@ ZEND_API int zend_multibyte_read_script(unsigned char *buf, size_t n TSRMLS_DC)
{
if (SCNG(script_org)) {
efree(SCNG(script_org));
+ SCNG(script_org) = NULL;
}
- SCNG(script_org_size) = n;
- SCNG(script_org) = (unsigned char*)erealloc(SCNG(script_org), SCNG(script_org_size));
- memcpy(SCNG(script_org) + SCNG(script_org_size) - n, buf, n);
+ SCNG(script_org_size) = n;
- SCNG(script_org) = (unsigned char*)erealloc(SCNG(script_org), SCNG(script_org_size) + 1);
+ SCNG(script_org) = (unsigned char*)emalloc(SCNG(script_org_size) + 1);
+ memcpy(SCNG(script_org), buf, n);
*(SCNG(script_org)+SCNG(script_org_size)) = '\0';
return 0;