@@ -130,8 +130,10 @@ PHPAPI int php_url_encode_hash_ex(HashTable *ht, smart_str *formstr,
130
130
p += key_prefix_len ;
131
131
}
132
132
133
- memcpy (p , num_prefix , num_prefix_len );
134
- p += num_prefix_len ;
133
+ if (num_prefix ) {
134
+ memcpy (p , num_prefix , num_prefix_len );
135
+ p += num_prefix_len ;
136
+ }
135
137
136
138
memcpy (p , ekey , ekey_len );
137
139
p += ekey_len ;
@@ -162,7 +164,9 @@ PHPAPI int php_url_encode_hash_ex(HashTable *ht, smart_str *formstr,
162
164
smart_str_appendl (formstr , arg_sep , arg_sep_len );
163
165
}
164
166
/* Simple key=value */
165
- smart_str_appendl (formstr , key_prefix , key_prefix_len );
167
+ if (key_prefix ) {
168
+ smart_str_appendl (formstr , key_prefix , key_prefix_len );
169
+ }
166
170
if (key ) {
167
171
zend_string * ekey ;
168
172
if (enc_type == PHP_QUERY_RFC3986 ) {
@@ -179,7 +183,9 @@ PHPAPI int php_url_encode_hash_ex(HashTable *ht, smart_str *formstr,
179
183
}
180
184
smart_str_append_long (formstr , idx );
181
185
}
182
- smart_str_appendl (formstr , key_suffix , key_suffix_len );
186
+ if (key_suffix ) {
187
+ smart_str_appendl (formstr , key_suffix , key_suffix_len );
188
+ }
183
189
smart_str_appendl (formstr , "=" , 1 );
184
190
switch (Z_TYPE_P (zdata )) {
185
191
case IS_STRING : {
0 commit comments