{
size_t len = (zs)->len;
+#if PHP_VERSION_ID < 70300
zs = php_addcslashes(zs, 0, ZEND_STRL("\0..\37\173\\\""));
+#else
+ zs = php_addcslashes(zs, ZEND_STRL("\0..\37\173\\\""));
+#endif
if (force || len != (zs)->len || strpbrk((zs)->val, "()<>@,;:\"[]?={} ")) {
int len = (zs)->len + 2;
static inline void sanitize_urlencoded(zval *zv)
{
- Z_STRLEN_P(zv) = php_raw_url_decode(Z_STRVAL_P(zv), Z_STRLEN_P(zv));
+ Z_STRLEN_P(zv) = php_url_decode(Z_STRVAL_P(zv), Z_STRLEN_P(zv));
}
static inline void prepare_urlencoded(zval *zv)
static void sanitize_dimension(zval *zv)
{
- zval arr, tmp, *cur = NULL;
+ zval arr, tmp, *cur = &arr;
char *var = NULL, *ptr = Z_STRVAL_P(zv), *end = Z_STRVAL_P(zv) + Z_STRLEN_P(zv);
long level = 0;
array_init(&arr);
- cur = &arr;
while (ptr < end) {
if (!var) {
zval *val;
php_http_buffer_t prefix;
- if (!ZEND_HASH_GET_APPLY_COUNT(ht)) {
- ZEND_HASH_INC_APPLY_COUNT(ht);
+ if (!HT_IS_RECURSIVE(ht)) {
+ HT_PROTECT_RECURSION(ht);
php_http_buffer_init(&prefix);
php_http_buffer_append(&prefix, keybuf->data, keybuf->used);
php_http_buffer_cut(&prefix, keybuf->used, prefix.used - keybuf->used);
}
ZEND_HASH_FOREACH_END();
- ZEND_HASH_DEC_APPLY_COUNT(ht);
+ HT_UNPROTECT_RECURSION(ht);
php_http_buffer_dtor(&prefix);
}