@@ -94,6 +94,9 @@ PHPAPI int php_setcookie(char *name, int name_len, char *value, int value_len, t
94
94
if (domain ) {
95
95
len += domain_len ;
96
96
}
97
+
98
+ cookie = emalloc (len + 100 );
99
+
97
100
if (value && value_len == 0 ) {
98
101
/*
99
102
* MSIE doesn't delete a cookie when you set it to a null value
@@ -102,10 +105,10 @@ PHPAPI int php_setcookie(char *name, int name_len, char *value, int value_len, t
102
105
*/
103
106
time_t t = time (NULL ) - 31536001 ;
104
107
dt = php_format_date ("D, d-M-Y H:i:s T" , sizeof ("D, d-M-Y H:i:s T" )- 1 , t , 0 TSRMLS_CC );
105
- spprintf ( & cookie , 0 , "Set-Cookie: %s=deleted; expires=%s" , name , dt );
108
+ snprintf ( cookie , len + 100 , "Set-Cookie: %s=deleted; expires=%s" , name , dt );
106
109
efree (dt );
107
110
} else {
108
- spprintf ( & cookie , 0 , "Set-Cookie: %s=%s" , name , value ? encoded_value : "" );
111
+ snprintf ( cookie , len + 100 , "Set-Cookie: %s=%s" , name , value ? encoded_value : "" );
109
112
if (expires > 0 ) {
110
113
strlcat (cookie , "; expires=" , len + 100 );
111
114
dt = php_format_date ("D, d-M-Y H:i:s T" , sizeof ("D, d-M-Y H:i:s T" )- 1 , expires , 0 TSRMLS_CC );
0 commit comments