pajoye                                   Tue, 27 Oct 2009 10:41:45 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=289981

Log:
- #48752, crash during date parsing with invalid date

Bug: http://bugs.php.net/48752 (Assigned) SIGSEGV during date parsing with new 
timelib
      
Changed paths:
    U   php/php-src/branches/PHP_5_2/ext/date/php_date.c
    U   php/php-src/branches/PHP_5_3/ext/date/php_date.c
    U   php/php-src/branches/PHP_5_3_1/ext/date/php_date.c
    U   php/php-src/trunk/ext/date/php_date.c

Modified: php/php-src/branches/PHP_5_2/ext/date/php_date.c
===================================================================
--- php/php-src/branches/PHP_5_2/ext/date/php_date.c    2009-10-27 10:35:32 UTC 
(rev 289980)
+++ php/php-src/branches/PHP_5_2/ext/date/php_date.c    2009-10-27 10:41:45 UTC 
(rev 289981)
@@ -371,6 +371,7 @@
        }
        DATEG(timezone) = NULL;
        DATEG(tzcache) = NULL;
+       DATEG(last_errors) = NULL;

        return SUCCESS;
 }
@@ -388,6 +389,11 @@
                FREE_HASHTABLE(DATEG(tzcache));
                DATEG(tzcache) = NULL;
        }
+       if (DATEG(last_errors)) {
+               timelib_error_container_dtor(DATEG(last_errors));
+               DATEG(last_errors) = NULL;
+       }
+
        return SUCCESS;
 }
 /* }}} */

Modified: php/php-src/branches/PHP_5_3/ext/date/php_date.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/date/php_date.c    2009-10-27 10:35:32 UTC 
(rev 289980)
+++ php/php-src/branches/PHP_5_3/ext/date/php_date.c    2009-10-27 10:41:45 UTC 
(rev 289981)
@@ -619,6 +619,7 @@
        }
        DATEG(timezone) = NULL;
        DATEG(tzcache) = NULL;
+       DATEG(last_errors) = NULL;

        return SUCCESS;
 }
@@ -636,6 +637,11 @@
                FREE_HASHTABLE(DATEG(tzcache));
                DATEG(tzcache) = NULL;
        }
+       if (DATEG(last_errors)) {
+               timelib_error_container_dtor(DATEG(last_errors));
+               DATEG(last_errors) = NULL;
+       }
+
        return SUCCESS;
 }
 /* }}} */
@@ -777,7 +783,6 @@

        php_date_global_timezone_db = NULL;
        php_date_global_timezone_db_enabled = 0;
-
        DATEG(last_errors) = NULL;
        return SUCCESS;
 }

Modified: php/php-src/branches/PHP_5_3_1/ext/date/php_date.c
===================================================================
--- php/php-src/branches/PHP_5_3_1/ext/date/php_date.c  2009-10-27 10:35:32 UTC 
(rev 289980)
+++ php/php-src/branches/PHP_5_3_1/ext/date/php_date.c  2009-10-27 10:41:45 UTC 
(rev 289981)
@@ -619,6 +619,7 @@
        }
        DATEG(timezone) = NULL;
        DATEG(tzcache) = NULL;
+       DATEG(last_errors) = NULL;

        return SUCCESS;
 }
@@ -636,6 +637,11 @@
                FREE_HASHTABLE(DATEG(tzcache));
                DATEG(tzcache) = NULL;
        }
+       if (DATEG(last_errors)) {
+               timelib_error_container_dtor(DATEG(last_errors));
+               DATEG(last_errors) = NULL;
+       }
+
        return SUCCESS;
 }
 /* }}} */
@@ -777,7 +783,6 @@

        php_date_global_timezone_db = NULL;
        php_date_global_timezone_db_enabled = 0;
-
        DATEG(last_errors) = NULL;
        return SUCCESS;
 }

Modified: php/php-src/trunk/ext/date/php_date.c
===================================================================
--- php/php-src/trunk/ext/date/php_date.c       2009-10-27 10:35:32 UTC (rev 
289980)
+++ php/php-src/trunk/ext/date/php_date.c       2009-10-27 10:41:45 UTC (rev 
289981)
@@ -622,6 +622,7 @@
        }
        DATEG(timezone) = NULL;
        DATEG(tzcache) = NULL;
+       DATEG(last_errors) = NULL;

        return SUCCESS;
 }
@@ -639,6 +640,11 @@
                FREE_HASHTABLE(DATEG(tzcache));
                DATEG(tzcache) = NULL;
        }
+       if (DATEG(last_errors)) {
+               timelib_error_container_dtor(DATEG(last_errors));
+               DATEG(last_errors) = NULL;
+       }
+
        return SUCCESS;
 }
 /* }}} */

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to