diff options
| author | Antony Dovgal <tony2001@php.net> | 2007-06-07 09:07:36 +0000 | 
|---|---|---|
| committer | Antony Dovgal <tony2001@php.net> | 2007-06-07 09:07:36 +0000 | 
| commit | 074b58b7f1ed52850c96f603e318e6496b82442e (patch) | |
| tree | 24c1a5aaa1b5a3b3aa3275b5bc3347a1ef5a9a27 | |
| parent | d042fd067569aac8970428629309d9b1110bbbcc (diff) | |
| download | php-git-074b58b7f1ed52850c96f603e318e6496b82442e.tar.gz | |
MFH: php_localtime_r() checks
| -rw-r--r-- | ext/calendar/easter.c | 10 | ||||
| -rw-r--r-- | ext/pdo_sqlite/sqlite/src/date.c | 3 | ||||
| -rw-r--r-- | ext/sqlite/libsqlite/src/date.c | 3 | ||||
| -rw-r--r-- | ext/standard/info.c | 2 | ||||
| -rw-r--r-- | ext/xmlrpc/libxmlrpc/xmlrpc.c | 6 | 
5 files changed, 20 insertions, 4 deletions
diff --git a/ext/calendar/easter.c b/ext/calendar/easter.c index 6329986e4a..ed28931ae0 100644 --- a/ext/calendar/easter.c +++ b/ext/calendar/easter.c @@ -36,10 +36,14 @@ static void _cal_easter(INTERNAL_FUNCTION_PARAMETERS, int gm)  	/* Default to the current year if year parameter is not given */  	{  		time_t a; -		struct tm b; +		struct tm b, *res;  		time(&a); -		php_localtime_r(&a, &b); -		year = 1900 + b.tm_year; +		res = php_localtime_r(&a, &b); +		if (!res) { +			year = 1900; +		} else { +			year = 1900 + b.tm_year; +		}  	}  	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, diff --git a/ext/pdo_sqlite/sqlite/src/date.c b/ext/pdo_sqlite/sqlite/src/date.c index a5446e128e..2dcab69533 100644 --- a/ext/pdo_sqlite/sqlite/src/date.c +++ b/ext/pdo_sqlite/sqlite/src/date.c @@ -417,6 +417,9 @@ static double localtimeOffset(DateTime *p){    t = (x.rJD-2440587.5)*86400.0 + 0.5;    sqlite3OsEnterMutex();    pTm = php_localtime_r(&t, &tmbuf); +  if (!pTm) { +	  return 0; +  }    y.Y = pTm->tm_year + 1900;    y.M = pTm->tm_mon + 1;    y.D = pTm->tm_mday; diff --git a/ext/sqlite/libsqlite/src/date.c b/ext/sqlite/libsqlite/src/date.c index 9fb075d43e..cd6761b66a 100644 --- a/ext/sqlite/libsqlite/src/date.c +++ b/ext/sqlite/libsqlite/src/date.c @@ -420,6 +420,9 @@ static double localtimeOffset(DateTime *p){    t = (x.rJD-2440587.5)*86400.0 + 0.5;    sqliteOsEnterMutex();    pTm = php_localtime_r(&t, &tmbuf); +  if (!pTm) { +	  return 0; +  }    y.Y = pTm->tm_year + 1900;    y.M = pTm->tm_mon + 1;    y.D = pTm->tm_mday; diff --git a/ext/standard/info.c b/ext/standard/info.c index a3b349177d..eb587366a0 100644 --- a/ext/standard/info.c +++ b/ext/standard/info.c @@ -1066,7 +1066,7 @@ PHPAPI char *php_logo_guid()  	the_time = time(NULL);  	ta = php_localtime_r(&the_time, &tmbuf); -	if ((ta->tm_mon==3) && (ta->tm_mday==1)) { +	if (ta && (ta->tm_mon==3) && (ta->tm_mday==1)) {  		logo_guid = PHP_EGG_LOGO_GUID;  	} else {  		logo_guid = PHP_LOGO_GUID; diff --git a/ext/xmlrpc/libxmlrpc/xmlrpc.c b/ext/xmlrpc/libxmlrpc/xmlrpc.c index 2a5600290b..d263ab6878 100644 --- a/ext/xmlrpc/libxmlrpc/xmlrpc.c +++ b/ext/xmlrpc/libxmlrpc/xmlrpc.c @@ -43,6 +43,9 @@ static const char rcsid[] = "#(@) $Id$";   *   9/1999 - 10/2000   * HISTORY   *   $Log$ + *   Revision 1.8.4.1  2006/11/30 16:38:37  iliaa + *   last set of zts fixes + *   *   Revision 1.8  2005/03/28 00:07:24  edink   *   Reshufle includes to make it compile on windows   * @@ -233,6 +236,9 @@ static int date_from_ISO8601 (const char *text, time_t * value) {  static int date_to_ISO8601 (time_t value, char *buf, int length) {     struct tm *tm, tmbuf;     tm = php_localtime_r(&value, &tmbuf); +   if (!tm) { +	   return 0; +   }  #if 0  /* TODO: soap seems to favor this method. xmlrpc the latter. */  	return strftime (buf, length, "%Y-%m-%dT%H:%M:%SZ", tm);  #else  | 
