Bug #18158 Updated: sybase session storage causing data corruption

From: Date: Thu, 04 Jul 2002 13:29:24 +0000
Subject: Bug #18158 Updated: sybase session storage causing data corruption
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-13111@lists.php.net to get a copy of this message
ID: 18158 Updated by: g.hort@unsw.edu.au Reported By: g.hort@unsw.edu.au Status: Open Bug Type: Session related Operating System: Solaris 8 PHP Version: 4.2.1 New Comment: The session handler I'm using is from sourceforge, slightly modified, see http://www.library.unsw.edu.au/pear_session.phps Previous Comments: ------------------------------------------------------------------------ [2002-07-04 04:35:29] g.hort@unsw.edu.au php for Apache 1.3.26 with mod_ssl configure --with-apxs=/usr/local/apache/bin/apxs --with-gettext --with-xml --with-zlib --with-mysql=/usr/local/mysql --with-sybase-ct=/usr/local/sybase12.5/OCS-12.5 --with-imap=../imap-2001a I'm using user defined session storage. mysql works fine. Both sybase and sybase-ct can save a new session but not update it. The routine that writes session data is: function pear_session_write($session_id, $data) { global $pear_session_db; $updated = time(); $sql = "INSERT INTO " . PEAR_SESSION_TABLE . "(session_id, last_updated, data) " . "VALUES('" . addslashes($session_id) . "', $updated, '" . addslashes($data) . "')"; user_error("pear_session0: $sql ($session_id)\n"); $rs = $pear_session_db->query($sql); user_error("pear_session1: $sql ($session_id)\n"); if (DB::isError($rs)) // probably a duplicate error: update existing value { $sql = "UPDATE " . PEAR_SESSION_TABLE . " SET last_updated = $updated, data = '" . addslashes($data) . "' WHERE session_id = '" . addslashes($session_id) . "'"; $rs = $pear_session_db->query($sql); } return !(DB::isError($rs)); } The reason the update doesn't occur is that the variable $session_id gets corrupted while the failing insert is executed and so the update fails. The sybase interface seems to work fine in other (non-session) situations. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=18158&edit=1

« previous php.bugs (#13111) next »