From 4879a01b54ef49b98f3cb0dee6d0553099230acf Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Fri, 27 Jan 2012 10:56:33 +0000 Subject: [PATCH] - fix #60895, possible invalid handler usage --- NEWS | 24 +++++++++++++----------- win32/winutil.c | 6 ++++-- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/NEWS b/NEWS index 773f84b5e2..997da8c578 100644 --- a/NEWS +++ b/NEWS @@ -3,23 +3,25 @@ PHP NEWS ?? ?? 2012, PHP 5.3.10 - Core: - . Fixed bug #60227 (header() cannot detect the multi-line header with CR). - (rui) - . Fixed bug #60825 (Segfault when running symfony 2 tests). - (Dmitry, Laruence) + . Fixed bug #60227 (header() cannot detect the multi-line header with CR). + (rui) + . Fixed bug #60825 (Segfault when running symfony 2 tests). + (Dmitry, Laruence) + . Fix bug #60895 (Possible invalid handler usage in windows random + functions). (Pierre) - Firebird Database extension (ibase): - . Fixed bug #60802 (ibase_trans() gives segfault when passing params). + . Fixed bug #60802 (ibase_trans() gives segfault when passing params). - Streams: - . Further fix for bug #60455 (stream_get_line misbehaves if EOF is not detected - together with the last read). (Gustavo) - . Fixed bug #60817 (stream_get_line() reads from stream even when there is - already sufficient data buffered). stream_get_line() now behaves more like - fgets(), as is documented. (Gustavo) + . Further fix for bug #60455 (stream_get_line misbehaves if EOF is not detected + together with the last read). (Gustavo) + . Fixed bug #60817 (stream_get_line() reads from stream even when there is + already sufficient data buffered). stream_get_line() now behaves more like + fgets(), as is documented. (Gustavo) - PHP-FPM SAPI: - . Fixed bug #60811 (php-fpm compilation problem). (rasmus) + . Fixed bug #60811 (php-fpm compilation problem). (rasmus) 10 Jan 2012, PHP 5.3.9 diff --git a/win32/winutil.c b/win32/winutil.c index c3e668b710..878e95ca89 100644 --- a/win32/winutil.c +++ b/win32/winutil.c @@ -62,8 +62,10 @@ void php_win32_init_rng_lock() void php_win32_free_rng_lock() { tsrm_mutex_lock(php_lock_win32_cryptoctx); - CryptReleaseContext(hCryptProv, 0); - has_crypto_ctx = 0; + if (has_crypto_ctx == 1) { + CryptReleaseContext(hCryptProv, 0); + has_crypto_ctx = 0; + } tsrm_mutex_unlock(php_lock_win32_cryptoctx); tsrm_mutex_free(php_lock_win32_cryptoctx); -- 2.50.1