diff options
author | Aleksander Machniak <alec@alec.pl> | 2012-07-06 10:10:30 +0200 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2012-07-06 10:15:36 +0200 |
commit | 969ff01ac8f1712540f4f05d116618b028c7af27 (patch) | |
tree | 3296f4bda3d98e72e33a519055fcc20f557b4957 /program/include/rcube_session.php | |
parent | ae2e88bc0e0883b750fb614f3c95e7c3f6200b63 (diff) |
There's a case (reason unknown) when destroy() is called with empty session key.
Handle this case properly to prevent from PHP error: Memcache::delete(): Key cannot be empty.
Conflicts:
program/include/rcube_session.php
Diffstat (limited to 'program/include/rcube_session.php')
-rw-r--r-- | program/include/rcube_session.php | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/program/include/rcube_session.php b/program/include/rcube_session.php index 4ac395472..6916e2ba8 100644 --- a/program/include/rcube_session.php +++ b/program/include/rcube_session.php @@ -221,13 +221,14 @@ class rcube_session * Handler for session_destroy() * * @param string Session ID + * * @return boolean True on success */ public function db_destroy($key) { - $this->db->query( - sprintf("DELETE FROM %s WHERE sess_id = ?", get_table_name('session')), - $key); + if ($key) { + $this->db->query(sprintf("DELETE FROM %s WHERE sess_id = ?", get_table_name('session')), $key); + } return true; } @@ -308,11 +309,16 @@ class rcube_session * Handler for session_destroy() with memcache backend * * @param string Session ID + * * @return boolean True on success */ public function mc_destroy($key) { - return $this->memcache->delete($key); + if ($key) { + $this->memcache->delete($key); + } + + return true; } |