Bug #17571 Updated: Memory leak in basic globals

From: Date: Mon, 03 Jun 2002 09:20:24 +0000
Subject: Bug #17571 Updated: Memory leak in basic globals
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-9283@lists.php.net to get a copy of this message
ID: 17571 Updated by: mfischer@php.net Reported By: tzikmund@iccc.cz -Status: Open +Status: Bogus Bug Type: *General Issues Operating System: Redhat Linux 7.2 PHP Version: 4.2.1 Previous Comments: ------------------------------------------------------------------------ [2002-06-03 05:18:59] tzikmund@iccc.cz I'm trying to run PHP in my own multithreaded environment. Memory leaks are critical for my application. I've tried to track the leaks down using memprof and I think I've found a leak in basic globals destructor: There's original basic globals destructor source from PHP 4.2.1: static void basic_globals_dtor(php_basic_globals *basic_globals_p TSRMLS_DC) { zend_hash_destroy(&BG(sm_protected_env_vars)); if (BG(sm_allowed_env_vars)) { free(BG(sm_allowed_env_vars)); } #ifdef PHP_WIN32 CoUninitialize(); #endif } There's an item called url_adapt_state_ex in the BG array which seems to be no deallocated in the destructor. I've tried following modification: static void basic_globals_dtor(php_basic_globals *basic_globals_p TSRMLS_DC) { zend_hash_destroy(&BG(sm_protected_env_vars)); if (BG(sm_allowed_env_vars)) { free(BG(sm_allowed_env_vars)); } if (BG(url_adapt_state_ex).tags) { zend_hash_destroy(BG(url_adapt_state_ex).tags); free(BG(url_adapt_state_ex).tags); } #ifdef PHP_WIN32 CoUninitialize(); #endif } I don't know if my modification is clean, but it seems to solve the problem. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=17571&edit=1

« previous php.bugs (#9283) next »