X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_params.c;h=65504ac660155e6d40da74c98d8e7b0d4b15b7cc;hp=f8e6e88bce1a436bee9a01c1a659b7c5718d0ece;hb=d7f91cdeb926694858b07d77e29e10d5617112b1;hpb=51dcae85102bbf2ae1d2d41775d2a37f218b53aa diff --git a/php_http_params.c b/php_http_params.c index f8e6e88..65504ac 100644 --- a/php_http_params.c +++ b/php_http_params.c @@ -71,7 +71,7 @@ static inline void prepare_escaped(zval *zv TSRMLS_DC) Z_STRVAL_P(zv) = php_addcslashes(Z_STRVAL_P(zv), Z_STRLEN_P(zv), &Z_STRLEN_P(zv), 1, ZEND_STRL("\0..\37\173\\\"") TSRMLS_CC); - if (len != Z_STRLEN_P(zv) || strpbrk(Z_STRVAL_P(zv), "()<>@,;:\"/[]?={} ")) { + if (len != Z_STRLEN_P(zv) || strpbrk(Z_STRVAL_P(zv), "()<>@,;:\"[]?={} ")) { zval tmp = *zv; int len = Z_STRLEN_P(zv) + 2; char *str = emalloc(len + 1); @@ -570,7 +570,7 @@ static void push_param(HashTable *params, php_http_params_state_t *state, const } static inline zend_bool check_str(const char *chk_str, size_t chk_len, const char *sep_str, size_t sep_len) { - return 0 < sep_len && chk_len >= sep_len && !memcmp(chk_str, sep_str, sep_len); + return 0 < sep_len && chk_len >= sep_len && *chk_str == *sep_str && !memcmp(chk_str + 1, sep_str + 1, sep_len - 1); } static size_t check_sep(php_http_params_state_t *state, php_http_params_token_t **separators)