diff --git a/ext/posix/posix.c b/ext/posix/posix.c index d465e5230938a..68d47840c5e20 100644 --- a/ext/posix/posix.c +++ b/ext/posix/posix.c @@ -236,10 +236,11 @@ PHP_FUNCTION(posix_getgroups) RETURN_FALSE; } - array_init(return_value); + array_init_size(return_value, result); + zend_hash_real_init_packed(Z_ARRVAL_P(return_value)); for (i=0; igr_name); if (g->gr_passwd) { @@ -1174,7 +1176,8 @@ PHP_FUNCTION(posix_getrlimit) RETURN_FALSE; } - array_init(return_value); + array_init_size(return_value, 2); + zend_hash_real_init_packed(Z_ARRVAL_P(return_value)); if (rl.rlim_cur == RLIM_INFINITY) { add_next_index_stringl(return_value, UNLIMITED_STRING, sizeof(UNLIMITED_STRING)-1); } else {