summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2012-07-06 10:10:30 +0200
committerAleksander Machniak <alec@alec.pl>2012-07-06 10:15:36 +0200
commit969ff01ac8f1712540f4f05d116618b028c7af27 (patch)
tree3296f4bda3d98e72e33a519055fcc20f557b4957
parentae2e88bc0e0883b750fb614f3c95e7c3f6200b63 (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
-rw-r--r--program/include/rcube_session.php14
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;
}