Skip to content

Commit 8dd91f5

Browse files
committed
Remove state pointer argument from php_strip_tags
1 parent d6a6a60 commit 8dd91f5

File tree

3 files changed

+7
-21
lines changed

3 files changed

+7
-21
lines changed

ext/filter/sanitizing_filters.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ void php_filter_string(PHP_INPUT_FILTER_PARAM_DECL)
194194
php_filter_encode_html(value, enc);
195195

196196
/* strip tags, implicitly also removes \0 chars */
197-
new_len = php_strip_tags_ex(Z_STRVAL_P(value), Z_STRLEN_P(value), NULL, NULL, 0, 1);
197+
new_len = php_strip_tags_ex(Z_STRVAL_P(value), Z_STRLEN_P(value), NULL, 0, 1);
198198
Z_STRLEN_P(value) = new_len;
199199

200200
if (new_len == 0) {

ext/standard/php_string.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ PHPAPI char *php_stristr(char *s, char *t, size_t s_len, size_t t_len);
123123
PHPAPI zend_string *php_str_to_str(const char *haystack, size_t length, const char *needle,
124124
size_t needle_len, const char *str, size_t str_len);
125125
PHPAPI zend_string *php_trim(zend_string *str, char *what, size_t what_len, int mode);
126-
PHPAPI size_t php_strip_tags(char *rbuf, size_t len, uint8_t *state, const char *allow, size_t allow_len);
127-
PHPAPI size_t php_strip_tags_ex(char *rbuf, size_t len, uint8_t *stateptr, const char *allow, size_t allow_len, zend_bool allow_tag_spaces);
126+
PHPAPI size_t php_strip_tags(char *rbuf, size_t len, const char *allow, size_t allow_len);
127+
PHPAPI size_t php_strip_tags_ex(char *rbuf, size_t len, const char *allow, size_t allow_len, zend_bool allow_tag_spaces);
128128
PHPAPI void php_implode(const zend_string *delim, HashTable *arr, zval *return_value);
129129
PHPAPI void php_explode(const zend_string *delim, zend_string *str, zval *return_value, zend_long limit);
130130

ext/standard/string.c

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4659,7 +4659,7 @@ PHP_FUNCTION(strip_tags)
46594659
}
46604660

46614661
buf = zend_string_init(ZSTR_VAL(str), ZSTR_LEN(str), 0);
4662-
ZSTR_LEN(buf) = php_strip_tags_ex(ZSTR_VAL(buf), ZSTR_LEN(str), NULL, allowed_tags, allowed_tags_len, 0);
4662+
ZSTR_LEN(buf) = php_strip_tags_ex(ZSTR_VAL(buf), ZSTR_LEN(str), allowed_tags, allowed_tags_len, 0);
46634663
smart_str_free(&tags_ss);
46644664
RETURN_NEW_STR(buf);
46654665
}
@@ -4869,9 +4869,9 @@ int php_tag_find(char *tag, size_t len, const char *set) {
48694869
}
48704870
/* }}} */
48714871

4872-
PHPAPI size_t php_strip_tags(char *rbuf, size_t len, uint8_t *stateptr, const char *allow, size_t allow_len) /* {{{ */
4872+
PHPAPI size_t php_strip_tags(char *rbuf, size_t len, const char *allow, size_t allow_len) /* {{{ */
48734873
{
4874-
return php_strip_tags_ex(rbuf, len, stateptr, allow, allow_len, 0);
4874+
return php_strip_tags_ex(rbuf, len, allow, allow_len, 0);
48754875
}
48764876
/* }}} */
48774877

@@ -4895,7 +4895,7 @@ PHPAPI size_t php_strip_tags(char *rbuf, size_t len, uint8_t *stateptr, const ch
48954895
swm: Added ability to strip <?xml tags without assuming it PHP
48964896
code.
48974897
*/
4898-
PHPAPI size_t php_strip_tags_ex(char *rbuf, size_t len, uint8_t *stateptr, const char *allow, size_t allow_len, zend_bool allow_tag_spaces)
4898+
PHPAPI size_t php_strip_tags_ex(char *rbuf, size_t len, const char *allow, size_t allow_len, zend_bool allow_tag_spaces)
48994899
{
49004900
char *tbuf, *tp, *rp, c, lc;
49014901
const char *buf, *p, *end;
@@ -4920,18 +4920,6 @@ PHPAPI size_t php_strip_tags_ex(char *rbuf, size_t len, uint8_t *stateptr, const
49204920
tbuf = tp = NULL;
49214921
}
49224922

4923-
if (stateptr) {
4924-
state = *stateptr;
4925-
switch (state) {
4926-
case 1: goto state_1;
4927-
case 2: goto state_2;
4928-
case 3: goto state_3;
4929-
case 4: goto state_4;
4930-
default:
4931-
break;
4932-
}
4933-
}
4934-
49354923
state_0:
49364924
if (p >= end) {
49374925
goto finish;
@@ -5225,8 +5213,6 @@ PHPAPI size_t php_strip_tags_ex(char *rbuf, size_t len, uint8_t *stateptr, const
52255213
if (allow_free) {
52265214
efree(allow_free);
52275215
}
5228-
if (stateptr)
5229-
*stateptr = state;
52305216

52315217
return (size_t)(rp - rbuf);
52325218
}

0 commit comments

Comments
 (0)