Also it fixes test on 32-bit armv7 and x86
- Test unixtojd() function : error conditions [ext/calendar/tests/unixtojd_error1.phpt]
Closes GH-6033
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? ????, PHP 7.3.23
+- Calendar:
+ . Fixed bug #80007 (Potential type confusion in unixtojd() parameter parsing).
+ (Andy Postnikov)
03 Sep 2020, PHP 7.3.22
PHP_FUNCTION(unixtojd)
{
time_t ts = 0;
+ zend_long tl = 0;
struct tm *ta, tmbuf;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "|l", &ts) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "|l", &tl) == FAILURE) {
return;
}
- if (!ts) {
+ if (!tl) {
ts = time(NULL);
- } else if (ts < 0) {
+ } else if (tl >= 0) {
+ ts = (time_t) tl;
+ } else {
RETURN_FALSE;
}