svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/date/php_date.c trunk/ext/date/php_date.c
| From: | Michael Wallner | Date: | Wed, 12 May 2010 09:37:25 +0000 |
| Subject: | svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/date/php_date.c trunk/ext/date/php_date.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-62609@lists.php.net to get a copy of this message | ||
mike Wed, 12 May 2010 09:37:25 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=299277
Log:
Fixed bug #51725 (xmlrpc_get_type() returns true on invalid dates). (Mike)
Bug: http://bugs.php.net/51725 (Verified) xmlrpc_get_type()
returns true on invalid dates
Changed paths:
U php/php-src/branches/PHP_5_3/NEWS
U php/php-src/branches/PHP_5_3/ext/date/php_date.c
U php/php-src/trunk/ext/date/php_date.c
Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS 2010-05-12 07:05:47 UTC (rev 299276)
+++ php/php-src/branches/PHP_5_3/NEWS 2010-05-12 09:37:25 UTC (rev 299277)
@@ -46,6 +46,7 @@
- Fixed bug #51732 (Fileinfo __construct or open does not work with NULL).
(Pierre)
+- Fixed bug #51725 (xmlrpc_get_type() returns true on invalid dates). (Mike)
- Fixed bug #51723 (Content-length header is limited to 32bit integer with
Apache2 on Windows). (Pierre)
- Fixed bug #51721 (mark DOMNodeList and DOMNamedNodeMap as Traversable).
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 2010-05-12 07:05:47 UTC (rev 299276)
+++ php/php-src/branches/PHP_5_3/ext/date/php_date.c 2010-05-12 09:37:25 UTC (rev 299277)
@@ -1362,10 +1362,16 @@
PHPAPI signed long php_parse_date(char *string, signed long *now)
{
timelib_time *parsed_time;
+ timelib_error_container *error = NULL;
int error2;
signed long retval;
- parsed_time = timelib_strtotime(string, strlen(string), NULL, DATE_TIMEZONEDB);
+ parsed_time = timelib_strtotime(string, strlen(string), &error, DATE_TIMEZONEDB);
+ if (error->error_count) {
+ timelib_error_container_dtor(error);
+ return -1;
+ }
+ timelib_error_container_dtor(error);
timelib_update_ts(parsed_time, NULL);
retval = timelib_date_to_int(parsed_time, &error2);
timelib_time_dtor(parsed_time);
Modified: php/php-src/trunk/ext/date/php_date.c
===================================================================
--- php/php-src/trunk/ext/date/php_date.c 2010-05-12 07:05:47 UTC (rev 299276)
+++ php/php-src/trunk/ext/date/php_date.c 2010-05-12 09:37:25 UTC (rev 299277)
@@ -1361,10 +1361,16 @@
PHPAPI signed long php_parse_date(char *string, signed long *now)
{
timelib_time *parsed_time;
+ timelib_error_container *error = NULL;
int error2;
signed long retval;
- parsed_time = timelib_strtotime(string, strlen(string), NULL, DATE_TIMEZONEDB);
+ parsed_time = timelib_strtotime(string, strlen(string), &error, DATE_TIMEZONEDB);
+ if (error->error_count) {
+ timelib_error_container_dtor(error);
+ return -1;
+ }
+ timelib_error_container_dtor(error);
timelib_update_ts(parsed_time, NULL);
retval = timelib_date_to_int(parsed_time, &error2);
timelib_time_dtor(parsed_time);