summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/var.c5
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;
}