svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/date/php_date.c branches/PHP_5_3/ext/date/tests/bug54283.phpt trunk/ext/date/php_date.c
trunk/ext/date/tests/bug54283.phpt
| From: | Felipe Pena | Date: | Wed, 23 Mar 2011 01:22:18 +0000 |
| Subject: | svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/date/php_date.c branches/PHP_5_3/ext/date/tests/bug54283.phpt trunk/ext/date/php_date.c trunk/ext/date/tests/bug54283.phpt |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-64742@lists.php.net to get a copy of this message | ||
felipe Wed, 23 Mar 2011 01:22:18 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=309580
Log:
- Fixed bug #54283 (new DatePeriod(NULL) causes crash)
Bug: http://bugs.php.net/54283 (error getting bug
information)
Changed paths:
U php/php-src/branches/PHP_5_3/NEWS
U php/php-src/branches/PHP_5_3/ext/date/php_date.c
A php/php-src/branches/PHP_5_3/ext/date/tests/bug54283.phpt
U php/php-src/trunk/ext/date/php_date.c
A php/php-src/trunk/ext/date/tests/bug54283.phpt
Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS 2011-03-23 00:51:22 UTC (rev 309579)
+++ php/php-src/branches/PHP_5_3/NEWS 2011-03-23 01:22:18 UTC (rev 309580)
@@ -13,6 +13,7 @@
. Fixed bug #54340 (DateTime::add() method bug). (Adam)
. Fixed bug #54316 (DateTime::createFromFormat does not handle trailing '|'
correctly). (Adam)
+ . Fixed bug #54283 (new DatePeriod(NULL) causes crash). (Felipe)
- DBA extension:
. Fixed bug #54242 (dba_insert returns true if key already exists). (Felipe)
Modified: php/php-src/branches/PHP_5_3/ext/date/php_date.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/date/php_date.c 2011-03-23 00:51:22 UTC (rev 309579)
+++ php/php-src/branches/PHP_5_3/ext/date/php_date.c 2011-03-23 01:22:18 UTC (rev 309580)
@@ -3767,7 +3767,7 @@
dpobj = zend_object_store_get_object(getThis() TSRMLS_CC);
dpobj->current = NULL;
- if (isostr_len) {
+ if (isostr) {
date_period_initialize(&(dpobj->start), &(dpobj->end), &(dpobj->interval),
&recurrences, isostr, isostr_len TSRMLS_CC);
if (dpobj->start == NULL) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "The ISO interval '%s' did not
contain a start date.", isostr);
Added: php/php-src/branches/PHP_5_3/ext/date/tests/bug54283.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/date/tests/bug54283.phpt (rev 0)
+++ php/php-src/branches/PHP_5_3/ext/date/tests/bug54283.phpt 2011-03-23 01:22:18 UTC (rev 309580)
@@ -0,0 +1,14 @@
+--TEST--
+Bug #54283 (new DatePeriod(NULL) causes crash)
+--FILE--
+<?php
+
+try {
+ var_dump(new DatePeriod(NULL));
+} catch (Exception $e) {
+ var_dump($e->getMessage());
+}
+
+?>
+--EXPECTF--
+string(51) "DatePeriod::__construct(): Unknown or bad format ()"
Modified: php/php-src/trunk/ext/date/php_date.c
===================================================================
--- php/php-src/trunk/ext/date/php_date.c 2011-03-23 00:51:22 UTC (rev 309579)
+++ php/php-src/trunk/ext/date/php_date.c 2011-03-23 01:22:18 UTC (rev 309580)
@@ -3762,7 +3762,7 @@
dpobj = zend_object_store_get_object(getThis() TSRMLS_CC);
dpobj->current = NULL;
- if (isostr_len) {
+ if (isostr) {
date_period_initialize(&(dpobj->start), &(dpobj->end), &(dpobj->interval),
&recurrences, isostr, isostr_len TSRMLS_CC);
if (dpobj->start == NULL) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "The ISO interval '%s' did not
contain a start date.", isostr);
Added: php/php-src/trunk/ext/date/tests/bug54283.phpt
===================================================================
--- php/php-src/trunk/ext/date/tests/bug54283.phpt (rev 0)
+++ php/php-src/trunk/ext/date/tests/bug54283.phpt 2011-03-23 01:22:18 UTC (rev 309580)
@@ -0,0 +1,14 @@
+--TEST--
+Bug #54283 (new DatePeriod(NULL) causes crash)
+--FILE--
+<?php
+
+try {
+ var_dump(new DatePeriod(NULL));
+} catch (Exception $e) {
+ var_dump($e->getMessage());
+}
+
+?>
+--EXPECTF--
+string(51) "DatePeriod::__construct(): Unknown or bad format ()"