summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntony Dovgal <tony2001@php.net>2010-01-27 13:04:10 +0000
committerAntony Dovgal <tony2001@php.net>2010-01-27 13:04:10 +0000
commitcdf7b66636217127b3bf3c635d117521764a12d2 (patch)
tree6b951923111202eb73170c3d5898d9546f821503
parent46d6cc1f44682fc5e49970dc8488fdb2fe753441 (diff)
downloadphp-git-cdf7b66636217127b3bf3c635d117521764a12d2.tar.gz
fix invalid read and possible crash
-rw-r--r--sapi/fpm/fpm/fpm_worker_pool.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sapi/fpm/fpm/fpm_worker_pool.c b/sapi/fpm/fpm/fpm_worker_pool.c
index c16dc64857..860f4d425c 100644
--- a/sapi/fpm/fpm/fpm_worker_pool.c
+++ b/sapi/fpm/fpm/fpm_worker_pool.c
@@ -29,13 +29,13 @@ static void fpm_worker_pool_cleanup(int which, void *arg) /* {{{ */
fpm_array_free(&wp->slots_used);
fpm_array_free(&wp->slots_free);
fpm_shm_free_list(wp->shm_list, which == FPM_CLEANUP_CHILD ? fpm_shm_slots_mem() : 0);
+ if (wp->shm_status && which != FPM_CLEANUP_CHILD) {
+ fpm_shm_free(wp->shm_status, !fpm_globals.is_child);
+ }
free(wp->config);
free(wp->user);
free(wp->home);
free(wp);
- if (wp->shm_status && which != FPM_CLEANUP_CHILD) {
- fpm_shm_free(wp->shm_status, !fpm_globals.is_child);
- }
}
fpm_worker_all_pools = 0;
}