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
pull/17/head
Aleksander Machniak 12 years ago
parent ae2e88bc0e
commit 969ff01ac8

@ -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;
}

Loading…
Cancel
Save