#48752 [Opn->Csd]: SIGSEGV during date parsing with new timelib
| From: | derick@php.net | Date: | Sun, 06 Dec 2009 22:31:41 +0000 |
| Subject: | #48752 [Opn->Csd]: SIGSEGV during date parsing with new timelib | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-145461@lists.php.net to get a copy of this message | ||
ID: 48752
Updated by: derick@php.net
Reported By: thetaphi@php.net
-Status: Open
+Status: Closed
Bug Type: Date/time related
Operating System: * (ZTS build only!)
PHP Version: 5.*, 6
Assigned To: pajoye
New Comment:
This has been rolled back for 5.2 only, because it doesn't have
last_errors in the first place.
Previous Comments:
------------------------------------------------------------------------
[2009-12-06 18:59:15] srinatar@php.net
the fix for this issue has been rolled back.
http://svn.php.net/viewvc/?view=revision&revision=289991
[sriramn@sriramn]'PHP_5_2'>svn diff -r 289982:289991
ext/date/php_date.c
Index: ext/date/php_date.c
===================================================================
--- ext/date/php_date.c (revision 289982)
+++ ext/date/php_date.c (revision 289991)
@@ -371,7 +371,6 @@
}
DATEG(timezone) = NULL;
DATEG(tzcache) = NULL;
- DATEG(last_errors) = NULL;
return SUCCESS;
}
@@ -389,10 +388,6 @@
FREE_HASHTABLE(DATEG(tzcache));
DATEG(tzcache) = NULL;
}
- if (DATEG(last_errors)) {
- timelib_error_container_dtor(DATEG(last_errors));
- DATEG(last_errors) = NULL;
- }
return SUCCESS;
}
accordingly, this bug has been moved to open status.
The corresponding NEWS entry for this bug will also need to be rolled
back as well.
------------------------------------------------------------------------
[2009-10-27 10:45:19] pajoye@php.net
This bug has been fixed in SVN.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
Thank you for the report, and for helping us make PHP better.
------------------------------------------------------------------------
[2009-10-27 10:44:12] svn@php.net
Automatic comment from SVN on behalf of pajoye
Revision: http://svn.php.net/viewvc/?view=revision&revision=289982
Log: - #48752
------------------------------------------------------------------------
[2009-10-27 10:41:45] svn@php.net
Automatic comment from SVN on behalf of pajoye
Revision: http://svn.php.net/viewvc/?view=revision&revision=289981
Log: - #48752, crash during date parsing with invalid date
------------------------------------------------------------------------
[2009-10-24 23:36:59] pajoye@php.net
here is a patch: http://pastie.org/668460
It makes the last_errors request specific as well as it should be.
However the problem is not completely solved as we need a lock before
the 1st operation on last_errors until we are done. It is not sufficent
to lock it before calling a function or setting it a value. Other
threads may affect it during two calls.
I consider this last_errors as a design mistake, but if you like to
keep it this way then we will need this global lock.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/48752
--
Edit this bug report at http://bugs.php.net/?id=48752&edit=1