1
0
mirror of https://github.com/php/php-src.git synced 2026-03-27 17:52:16 +01:00
Files
archived-php-src/ext/session/tests/user_session_module/bug79091.phpt
George Peter Banyard 386892f1fe Restructure ext-session tests
And small improvements to some
2022-10-22 12:47:34 +01:00

66 lines
1.2 KiB
PHP

--TEST--
Bug #79091 (heap use-after-free in session_create_id())
--EXTENSIONS--
session
--FILE--
<?php
class MySessionHandler implements SessionHandlerInterface, SessionIdInterface, SessionUpdateTimestampHandlerInterface
{
public function close(): bool
{
return true;
}
public function destroy($session_id): bool
{
return true;
}
public function gc($maxlifetime): int|false
{
return true;
}
public function open($save_path, $session_name): bool
{
return true;
}
public function read($session_id): string|false
{
return '';
}
public function write($session_id, $session_data): bool
{
return true;
}
public function create_sid(): string
{
return uniqid();
}
public function updateTimestamp($key, $val): bool
{
return true;
}
public function validateId($key): bool
{
return true;
}
}
ob_start();
var_dump(session_set_save_handler(new MySessionHandler()));
var_dump(session_start());
ob_flush();
session_create_id();
?>
--EXPECTF--
bool(true)
bool(true)
Warning: session_create_id(): Failed to create new ID in %s on line %d