diff options
-rw-r--r-- | ext/standard/var.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/standard/var.c b/ext/standard/var.c index 89db9e7c0f..4414186b3b 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -532,11 +532,12 @@ static void php_var_serialize_intern(smart_str *buf, zval **struc, HashTable *va return; case IS_DOUBLE: { - char s[256]; + char *s; ulong slen; - slen = sprintf(s, "d:%.252g;", Z_DVAL_PP(struc)); + slen = spprintf(&s, 0, "d:%.100g;", Z_DVAL_PP(struc)); smart_str_appendl(buf, s, slen); + efree(s); return; } |