From 969ff01ac8f1712540f4f05d116618b028c7af27 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 06 Jul 2012 04:15:36 -0400
Subject: [PATCH] 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 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/program/include/rcube_session.php b/program/include/rcube_session.php
index 4ac3954..6916e2b 100644
--- a/program/include/rcube_session.php
+++ b/program/include/rcube_session.php
@@ -221,13 +221,14 @@
* 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 @@
* 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;
}
--
Gitblit v1.9.1