From ef5f7fb13c437496467da0ea29e32bb5750da507 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Fri, 6 Jul 2012 10:10:30 +0200 Subject: 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. --- program/include/rcube_session.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'program/include') diff --git a/program/include/rcube_session.php b/program/include/rcube_session.php index 09a07d644..e3b5600ca 100644 --- a/program/include/rcube_session.php +++ b/program/include/rcube_session.php @@ -218,13 +218,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 = ?", $this->db->table_name('session')), - $key); + if ($key) { + $this->db->query(sprintf("DELETE FROM %s WHERE sess_id = ?", $this->db->table_name('session')), $key); + } return true; } @@ -305,11 +306,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; } -- cgit v1.2.3