derick Sun Feb 3 14:22:56 2008 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/date php_date.c Log: - Fixed invalid read errors as found by GCOV. http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.c?r1=1.43.2.45.2.55&r2=1.43.2.45.2.56&diff_format=u Index: php-src/ext/date/php_date.c diff -u php-src/ext/date/php_date.c:1.43.2.45.2.55 php-src/ext/date/php_date.c:1.43.2.45.2.56 --- php-src/ext/date/php_date.c:1.43.2.45.2.55 Sat Feb 2 17:26:23 2008 +++ php-src/ext/date/php_date.c Sun Feb 3 14:22:55 2008 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_date.c,v 1.43.2.45.2.55 2008/02/02 17:26:23 derick Exp $ */ +/* $Id: php_date.c,v 1.43.2.45.2.56 2008/02/03 14:22:55 derick Exp $ */ #include "php.h" #include "php_streams.h" @@ -1684,7 +1684,7 @@ timelib_time *now; timelib_tzinfo *tzi; timelib_error_container *err = NULL; - int free_tzi = 0, type = TIMELIB_ZONETYPE_ID, new_dst; + int free_tzi = 0, type = TIMELIB_ZONETYPE_ID, new_dst, errors_found = 0; char *new_abbr; timelib_sll new_offset; @@ -1695,22 +1695,17 @@ timelib_time_dtor(dateobj->time); } dateobj->time = timelib_strtotime(time_str_len ? time_str : "now", time_str_len ? time_str_len : sizeof("now") -1, &err, DATE_TIMEZONEDB); - if (err) { - if (ctor && err && err->error_count) { + + if (err && err->error_count) { + if (ctor) { /* spit out the first library error message, at least */ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to parse time string (%s) at position %d (%c): %s", time_str, - err->error_messages[0].position, err->error_messages[0].character, err->error_messages[0].message); + err->error_messages[0].position, err->error_messages[0].character, err->error_messages[0].message); } - timelib_error_container_dtor(err); - } - - - if (ctor && err && err->error_count) { - /* spit out the first library error message, at least */ - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to parse time string (%s) at position %d (%c): %s", time_str, - err->error_messages[0].position, err->error_messages[0].character, err->error_messages[0].message); + errors_found = 1; } - if (err && err->error_count) { + timelib_error_container_dtor(err); + if (errors_found) { return 0; }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php