diff options
| author | Xinchen Hui <laruence@php.net> | 2014-05-08 15:20:13 +0800 |
|---|---|---|
| committer | Xinchen Hui <laruence@php.net> | 2014-05-08 15:20:13 +0800 |
| commit | c242518bf0d2c3132c60c8f8dfba64329f73e90e (patch) | |
| tree | 8155972d987353d935606b3166bda5de2b7844c8 /sapi/cgi/cgi_main.c | |
| parent | 5f46c8fa31a8cfa0ad03b9aebd04243a09ac7be1 (diff) | |
| download | php-git-c242518bf0d2c3132c60c8f8dfba64329f73e90e.tar.gz | |
There should been memory leaks(and don't use pointer cast)
Diffstat (limited to 'sapi/cgi/cgi_main.c')
| -rw-r--r-- | sapi/cgi/cgi_main.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c index 4253e6978a..cb76caaa93 100644 --- a/sapi/cgi/cgi_main.c +++ b/sapi/cgi/cgi_main.c @@ -187,10 +187,12 @@ typedef struct _user_config_cache_entry { HashTable *user_config; } user_config_cache_entry; -static void user_config_cache_entry_dtor(user_config_cache_entry *entry) +static void user_config_cache_entry_dtor(zval *el) { + user_config_cache_entry *entry = (user_config_cache_entry *)Z_PTR_P(el); zend_hash_destroy(entry->user_config); free(entry->user_config); + free(entry); } /* }}} */ @@ -1476,7 +1478,7 @@ static void php_cgi_globals_ctor(php_cgi_globals_struct *php_cgi_globals TSRMLS_ #ifdef PHP_WIN32 php_cgi_globals->impersonate = 0; #endif - zend_hash_init(&php_cgi_globals->user_config_cache, 8, NULL, (dtor_func_t) user_config_cache_entry_dtor, 1); + zend_hash_init(&php_cgi_globals->user_config_cache, 8, NULL, user_config_cache_entry_dtor, 1); } /* }}} */ |
