Skip to content

Commit 502bb33

Browse files
author
Thies C. Arntzen
committed
the new SET_VAR_* macros forgot to set the refcount!
1 parent b978a64 commit 502bb33

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

Zend/zend_API.h

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,9 @@ ZEND_API int add_property_stringl(zval *arg, char *key, char *str, uint length,
197197

198198
#define SET_VAR_STRING(n,v) { \
199199
{ \
200-
zval *var = (zval *) emalloc(sizeof(zval)); \
200+
zval *var; \
201201
char *str=(v); /* prevent 'v' from being evaluated more than once */ \
202+
MAKE_STD_ZVAL(var); \
202203
\
203204
var->value.str.val = (str); \
204205
var->value.str.len = strlen((str)); \
@@ -209,7 +210,8 @@ ZEND_API int add_property_stringl(zval *arg, char *key, char *str, uint length,
209210

210211
#define SET_VAR_STRINGL(n,v,l) { \
211212
{ \
212-
zval *var = (zval *) emalloc(sizeof(zval)); \
213+
zval *var; \
214+
MAKE_STD_ZVAL(var); \
213215
\
214216
var->value.str.val = (v); \
215217
var->value.str.len = (l); \
@@ -220,7 +222,8 @@ ZEND_API int add_property_stringl(zval *arg, char *key, char *str, uint length,
220222

221223
#define SET_VAR_LONG(n,v) { \
222224
{ \
223-
zval *var = (zval *) emalloc(sizeof(zval)); \
225+
zval *var; \
226+
MAKE_STD_ZVAL(var); \
224227
\
225228
var->value.lval = (v); \
226229
var->type = IS_LONG; \
@@ -230,7 +233,8 @@ ZEND_API int add_property_stringl(zval *arg, char *key, char *str, uint length,
230233

231234
#define SET_VAR_DOUBLE(n,v) { \
232235
{ \
233-
zval *var = (zval *) emalloc(sizeof(zval)); \
236+
zval *var; \
237+
MAKE_STD_ZVAL(var); \
234238
\
235239
var->value.dval = (v); \
236240
var->type = IS_DOUBLE; \

0 commit comments

Comments
 (0)