diff options
-rw-r--r-- | ext/standard/string.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/standard/string.c b/ext/standard/string.c index f5851fa87d..8e5fb6f819 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -920,9 +920,11 @@ PHPAPI void php_implode(zval *delim, zval *arr, zval *return_value TSRMLS_DC) break; case IS_DOUBLE: { - char stmp[MAX_LENGTH_OF_DOUBLE + EG(precision) + 1]; + char *stmp; + stmp = emalloc(MAX_LENGTH_OF_DOUBLE + EG(precision) + 1); str_len = sprintf(stmp, "%.*G", (int) EG(precision), Z_DVAL_PP(tmp)); smart_str_appendl(&implstr, stmp, str_len); + efree(stmp); } break; |