summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/calendar/easter.c10
-rw-r--r--ext/pdo_sqlite/sqlite/src/date.c3
-rw-r--r--ext/sqlite/libsqlite/src/date.c3
-rw-r--r--ext/standard/info.c2
-rw-r--r--ext/xmlrpc/libxmlrpc/xmlrpc.c6
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