tony2001Thu Jun 7 08:46:32 2007 UTC
Modified files:
/php-src/ext/calendar cal_unix.c
/php-src/ext/date php_date.c
/php-src/ext/mime_magic mime_magic.c
/php-src/main main.c
Log:
check return value of *time_r() functions for NULL
more checks will follow
http://cvs.php.net/viewvc.cgi/php-src/ext/calendar/cal_unix.c?r1=1.22r2=1.23diff_format=u
Index: php-src/ext/calendar/cal_unix.c
diff -u php-src/ext/calendar/cal_unix.c:1.22
php-src/ext/calendar/cal_unix.c:1.23
--- php-src/ext/calendar/cal_unix.c:1.22Mon Jan 1 09:29:21 2007
+++ php-src/ext/calendar/cal_unix.c Thu Jun 7 08:46:32 2007
@@ -47,8 +47,11 @@
}
ta = php_localtime_r(timestamp, tmbuf);
+ if (!ta) {
+ RETURN_FALSE;
+ }
+
jdate = GregorianToSdn(ta-tm_year+1900, ta-tm_mon+1, ta-tm_mday);
-
RETURN_LONG(jdate);
}
/* }}} */
http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.c?r1=1.139r2=1.140diff_format=u
Index: php-src/ext/date/php_date.c
diff -u php-src/ext/date/php_date.c:1.139 php-src/ext/date/php_date.c:1.140
--- php-src/ext/date/php_date.c:1.139 Thu Jun 7 02:21:55 2007
+++ php-src/ext/date/php_date.c Thu Jun 7 08:46:32 2007
@@ -16,7 +16,7 @@
+--+
*/
-/* $Id: php_date.c,v 1.139 2007/06/07 02:21:55 iliaa Exp $ */
+/* $Id: php_date.c,v 1.140 2007/06/07 08:46:32 tony2001 Exp $ */
#include php.h
#include php_streams.h
@@ -583,16 +583,18 @@
{
struct tm *ta, tmbuf;
time_t the_time;
- char *tzid;
+ char *tzid = NULL;
the_time = time(NULL);
ta = php_localtime_r(the_time, tmbuf);
- tzid = timelib_timezone_id_from_abbr(ta-tm_zone,
ta-tm_gmtoff, ta-tm_isdst);
+ if (ta) {
+ tzid = timelib_timezone_id_from_abbr(ta-tm_zone,
ta-tm_gmtoff, ta-tm_isdst);
+ }
if (! tzid) {
tzid = UTC;
}
- php_error_docref(NULL TSRMLS_CC, E_STRICT, DATE_TZ_ERRMSG We
selected '%s' for '%s/%.1f/%s' instead, tzid, ta-tm_zone, (float)
(ta-tm_gmtoff / 3600), ta-tm_isdst ? DST : no DST);
+ php_error_docref(NULL TSRMLS_CC, E_STRICT, DATE_TZ_ERRMSG We
selected '%s' for '%s/%.1f/%s' instead, tzid, ta ? ta-tm_zone : Unknown, ta
? (float) (ta-tm_gmtoff / 3600) : 0, ta ? (ta-tm_isdst ? DST : no DST) :
Unknown);
return tzid;
}
#endif
http://cvs.php.net/viewvc.cgi/php-src/ext/mime_magic/mime_magic.c?r1=1.56r2=1.57diff_format=u
Index: php-src/ext/mime_magic/mime_magic.c
diff -u php-src/ext/mime_magic/mime_magic.c:1.56
php-src/ext/mime_magic/mime_magic.c:1.57
--- php-src/ext/mime_magic/mime_magic.c:1.56Mon May 28 23:33:13 2007
+++ php-src/ext/mime_magic/mime_magic.c Thu Jun 7 08:46:32 2007
@@ -15,7 +15,7 @@
| Author: Hartmut Holzgraefe [EMAIL PROTECTED] |
+--+
- $Id: mime_magic.c,v 1.56 2007/05/28 23:33:13 iliaa Exp $
+ $Id: mime_magic.c,v 1.57 2007/06/07 08:46:32 tony2001 Exp $
This module contains a lot of stuff taken from Apache mod_mime_magic,
so the license section is a little bit longer than usual:
@@ -1764,6 +1764,9 @@
{
char ctimebuf[52];
pp = php_ctime_r((time_t *) p-l, ctimebuf);
+ if (!pp) {
+ return;
+ }
if ((rt = strchr(pp, '\n')) != NULL) {
*rt = '\0';
}
http://cvs.php.net/viewvc.cgi/php-src/main/main.c?r1=1.728r2=1.729diff_format=u
Index: php-src/main/main.c
diff -u php-src/main/main.c:1.728 php-src/main/main.c:1.729
--- php-src/main/main.c:1.728 Thu Apr 26 09:39:03 2007
+++ php-src/main/main.c Thu Jun 7 08:46:32 2007
@@ -18,7 +18,7 @@
+--+
*/
-/* $Id: main.c,v 1.728 2007/04/26 09:39:03 tony2001 Exp $ */
+/* $Id: main.c,v 1.729 2007/06/07 08:46:32 tony2001 Exp $ */
/* {{{ includes
*/
@@ -1132,8 +1132,12 @@
time(curtime);
ta = php_localtime_r(curtime, tmbuf);
datetime_str = php_asctime_r(ta, asctimebuf);
- datetime_str[strlen(datetime_str)-1]=0; /* get
rid of the trailing newline */
- snprintf(memory_leak_buf,
sizeof(memory_leak_buf), [%s] Script: '%s'\n, datetime_str,
SAFE_FILENAME(SG(request_info).path_translated));
+ if (datetime_str) {
+ datetime_str[strlen(datetime_str)-1]=0;
/* get rid of the trailing newline */
+