diff options
| author | foobar <sniper@php.net> | 2003-10-08 10:22:51 +0000 |
|---|---|---|
| committer | foobar <sniper@php.net> | 2003-10-08 10:22:51 +0000 |
| commit | e85a4cdbd20384d707c4e2afdfe48f1ca0896b59 (patch) | |
| tree | 6f660f31e3c2a06e91fe384290d8ef7666b847d6 /ext/session/session.c | |
| parent | 628afb40b638c635d70adbbde55a04c26c07ea08 (diff) | |
| download | php-git-e85a4cdbd20384d707c4e2afdfe48f1ca0896b59.tar.gz | |
- Fixed bug #25780 (ext/session: invalid session.cookie_lifetime causes crash in win32).
Diffstat (limited to 'ext/session/session.c')
| -rw-r--r-- | ext/session/session.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/ext/session/session.c b/ext/session/session.c index 22521626b8..0eac74f327 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -957,13 +957,17 @@ static void php_session_send_cookie(TSRMLS_D) if (PS(cookie_lifetime) > 0) { struct timeval tv; + time_t t; gettimeofday(&tv, NULL); - date_fmt = php_std_date(tv.tv_sec + PS(cookie_lifetime) TSRMLS_CC); + t = tv.tv_sec + PS(cookie_lifetime); - smart_str_appends(&ncookie, COOKIE_EXPIRES); - smart_str_appends(&ncookie, date_fmt); - efree(date_fmt); + if (t > 0) { + date_fmt = php_std_date(t TSRMLS_CC); + smart_str_appends(&ncookie, COOKIE_EXPIRES); + smart_str_appends(&ncookie, date_fmt); + efree(date_fmt); + } } if (PS(cookie_path)[0]) { |
