]> granicus.if.org Git - php/commitdiff
php_localtime_r() checks
authorAntony Dovgal <tony2001@php.net>
Thu, 7 Jun 2007 09:07:12 +0000 (09:07 +0000)
committerAntony Dovgal <tony2001@php.net>
Thu, 7 Jun 2007 09:07:12 +0000 (09:07 +0000)
ext/calendar/easter.c
ext/pdo_sqlite/sqlite/src/date.c
ext/sqlite/libsqlite/src/date.c
ext/standard/info.c
ext/xmlrpc/libxmlrpc/xmlrpc.c

index 6329986e4ab8ecc86ad33eb1794d300c9c681408..ed28931ae0bab205c0baf832ed664990d717a38d 100644 (file)
@@ -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,
index 68d17a701351c2d36b1b09b73fa3d16ce2904602..10633e9afe3b4690dc59565121cc9f5371e2704d 100644 (file)
@@ -415,8 +415,10 @@ static double localtimeOffset(DateTime *p){
   computeJD(&x);
   t = (x.rJD-2440587.5)*86400.0 + 0.5;
   sqlite3OsEnterMutex();
-  pTm = php_localtime_r
-(&t, &tmbuf);
+  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;
index f994e0769fc77db9e02a039667773f6d238b1479..9ea9c5a77b5d738f699170bf3d1ea5b00dc10ed5 100644 (file)
@@ -418,6 +418,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;
index b4be6890dcb40f9df134db555742c3ebda77b1d3..2c9809051de43565a69feeb6194b8cca2b3a20e9 100644 (file)
@@ -1002,7 +1002,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;
index 555ffae22c33b0d1291a200615762385496cc72d..3c192d93f674f87b8177ebc3d70568a708f25e32 100644 (file)
@@ -43,6 +43,9 @@ static const char rcsid[] = "#(@) $Id$";
  *   9/1999 - 10/2000
  * HISTORY
  *   $Log$
+ *   Revision 1.10  2007/01/01 09:29:33  sebastian
+ *   Bump year.
+ *
  *   Revision 1.9  2007/11/30 16:38:53  iliaa
  *   zts fixes
  *
@@ -236,6 +239,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