|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2010-11-25 13:11 UTC] hradtke@php.net
[2010-11-25 13:47 UTC] samm at os2 dot kiev dot ua
[2010-11-25 16:05 UTC] hradtke@php.net
[2010-11-25 16:28 UTC] samm at os2 dot kiev dot ua
[2011-03-11 04:36 UTC] samm at os2 dot kiev dot ua
[2011-03-11 09:53 UTC] hradtke@php.net
[2011-03-11 12:04 UTC] samm at os2 dot kiev dot ua
[2011-03-11 13:12 UTC] hradtke@php.net
[2011-03-11 17:13 UTC] samm at os2 dot kiev dot ua
[2011-03-14 00:30 UTC] hradtke@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Dec 18 18:00:01 2025 UTC |
Description: ------------ --- memcache_session.c 2010-10-03 23:41:21.000000000 +0200 +++ memcache_session.c.patched 2010-11-10 00:27:08.814717875 +0100 @@ -298,9 +298,6 @@ mmc_pool_schedule(pool, mmc, lockrequest TSRMLS_CC) != MMC_OK || /*pool->protocol != &mmc_binary_protocol && */mmc_pool_schedule(pool, mmc, addrequest TSRMLS_CC) != MMC_OK || mmc_pool_schedule(pool, mmc, datarequest TSRMLS_CC) != MMC_OK) { - mmc_pool_release(pool, lockrequest); - mmc_pool_release(pool, addrequest); - mmc_pool_release(pool, datarequest); mmc_queue_push(&skip_servers, mmc); continue; } Reproduce code: --------------- <?php ini_set("session.save_handler","memcache"); // using bad port, no server listening ini_set("session.save_path", "tcp://127.0.0.1:444"); ini_set("session.gc_maxlifetime", 5000); session_start(); if(!isset($_SESSION["tst"])) $_SESSION["tst"]=0; $_SESSION["tst"]++; echo $_SESSION["tst"]."<br>".session_id(); phpinfo(); ?> Expected result: ---------------- error notice Actual result: -------------- crash. PHP is crashing because it is trying to free pools which are already free