]> granicus.if.org Git - php/commitdiff
Raise error when session module failed to open or read
authorYasuo Ohgaki <yohgaki@php.net>
Wed, 6 Mar 2002 00:26:38 +0000 (00:26 +0000)
committerYasuo Ohgaki <yohgaki@php.net>
Wed, 6 Mar 2002 00:26:38 +0000 (00:26 +0000)
ext/session/session.c

index a15ca9fe06cad2d22457d43ad664c85d6b490b71..00b10d174aa28a7f6a7dbd1aeac0ceb476a81307 100644 (file)
@@ -553,14 +553,18 @@ static void php_session_initialize(TSRMLS_D)
        char *val;
        int vallen;
        
-       if (PS(mod)->open(&PS(mod_data), PS(save_path), PS(session_name)) == FAILURE) {
-               php_error(E_ERROR, "Failed to initialize session module");
+       if (PS(mod)->open(&PS(mod_data), PS(save_path), PS(session_name) TSRMLS_CC) == FAILURE) {
+               PS(session_status) = php_session_disabled;
+               php_error(E_WARNING, "Failed to initialize session module");
                return;
        }
-       if (PS(mod)->read(&PS(mod_data), PS(id), &val, &vallen) == SUCCESS) {
-               php_session_decode(val, vallen TSRMLS_CC);
-               efree(val);
+       if (PS(mod)->read(&PS(mod_data), PS(id), &val, &vallen TSRMLS_CC) == FAILURE) {
+               PS(session_status) = php_session_disabled;
+               php_error(E_WARNING, "Failed to read session data");
+               return;
        }
+       php_session_decode(val, vallen TSRMLS_CC);
+       efree(val);
 }