]> granicus.if.org Git - php/commitdiff
Fixed bug #17281
authorIlia Alshanetsky <iliaa@php.net>
Sun, 29 Sep 2002 15:55:11 +0000 (15:55 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Sun, 29 Sep 2002 15:55:11 +0000 (15:55 +0000)
ext/session/session.c

index d15e4e94b476659c7daa97d1b01c3b261ef4308a..a3d2d5d2a49bb60b04fbe36788c2ec771b687b37 100644 (file)
@@ -463,6 +463,11 @@ static char *php_session_encode(int *newlen TSRMLS_DC)
 {
        char *ret = NULL;
 
+       if (!PS(http_session_vars)) {
+                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot encode non-existent session.");
+                return NULL;
+       }
+
        if (PS(serializer)->encode(&ret, newlen TSRMLS_CC) == FAILURE)
                ret = NULL;
 
@@ -1318,6 +1323,10 @@ PHP_FUNCTION(session_encode)
        }
 
        enc = php_session_encode(&len TSRMLS_CC);
+       if (enc == NULL) {
+               RETURN_FALSE;
+       }
+       
        RETVAL_STRINGL(enc, len, 0);
 }
 /* }}} */