Skip to content

Commit cd2f2cd

Browse files
committed
Deprecate FILTER_SANITIZE_MAGIC_QUOTES
1 parent 4e19069 commit cd2f2cd

File tree

6 files changed

+42
-18
lines changed

6 files changed

+42
-18
lines changed

ext/filter/filter.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ static const filter_list_entry filter_list[] = {
5858
{ "url", FILTER_SANITIZE_URL, php_filter_url },
5959
{ "number_int", FILTER_SANITIZE_NUMBER_INT, php_filter_number_int },
6060
{ "number_float", FILTER_SANITIZE_NUMBER_FLOAT, php_filter_number_float },
61-
{ "magic_quotes", FILTER_SANITIZE_MAGIC_QUOTES, php_filter_add_slashes },
61+
{ "magic_quotes", FILTER_SANITIZE_MAGIC_QUOTES, php_filter_magic_quotes },
6262
{ "add_slashes", FILTER_SANITIZE_ADD_SLASHES, php_filter_add_slashes },
6363

6464
{ "callback", FILTER_CALLBACK, php_filter_callback },

ext/filter/php_filter.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ void php_filter_url(PHP_INPUT_FILTER_PARAM_DECL);
9292
void php_filter_number_int(PHP_INPUT_FILTER_PARAM_DECL);
9393
void php_filter_number_float(PHP_INPUT_FILTER_PARAM_DECL);
9494
void php_filter_add_slashes(PHP_INPUT_FILTER_PARAM_DECL);
95+
void php_filter_magic_quotes(PHP_INPUT_FILTER_PARAM_DECL);
9596

9697
void php_filter_callback(PHP_INPUT_FILTER_PARAM_DECL);
9798

ext/filter/sanitizing_filters.c

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -369,11 +369,20 @@ void php_filter_number_float(PHP_INPUT_FILTER_PARAM_DECL)
369369
/* {{{ php_filter_add_slashes */
370370
void php_filter_add_slashes(PHP_INPUT_FILTER_PARAM_DECL)
371371
{
372-
/* This filter is used by both 'add_slashes' & 'magic_quotes' (legacy) */
372+
zend_string *buf = php_addslashes(Z_STR_P(value));
373373

374+
zval_ptr_dtor(value);
375+
ZVAL_STR(value, buf);
376+
}
377+
/* }}} */
378+
379+
/* {{{ php_filter_magic_quotes */
380+
void php_filter_magic_quotes(PHP_INPUT_FILTER_PARAM_DECL)
381+
{
374382
zend_string *buf;
383+
php_error_docref(NULL, E_DEPRECATED,
384+
"FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead");
375385

376-
/* just call php_addslashes quotes */
377386
buf = php_addslashes(Z_STR_P(value));
378387

379388
zval_ptr_dtor(value);

ext/filter/tests/020.phpt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,16 @@ var_dump(filter_var(-1, FILTER_SANITIZE_MAGIC_QUOTES));
1212

1313
echo "Done\n";
1414
?>
15-
--EXPECT--
15+
--EXPECTF--
16+
Deprecated: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in %s on line %d
1617
string(36) "test\'asd\'asd\'\' asd\\\'\"asdfasdf"
18+
19+
Deprecated: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in %s on line %d
1720
string(2) "\'"
21+
22+
Deprecated: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in %s on line %d
1823
string(0) ""
24+
25+
Deprecated: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in %s on line %d
1926
string(2) "-1"
2027
Done

ext/filter/tests/033.phpt

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ default_charset=UTF-8
99
<?php
1010
include __DIR__ . '/033_run.inc';
1111
?>
12-
--EXPECT--
12+
--EXPECTF--
1313
int 1 123
1414
boolean 1
1515
float 1 123
@@ -29,6 +29,26 @@ email PHP 1 [email protected] httpa.b.c 1.2.3.4 123 12
2929
url PHP 1 [email protected] http://a.b.c 1.2.3.4 123 123abc<>() O'Henry aa:bb:cc:dd:ee:ff
3030
number_int 1 1234 123 123
3131
number_float 1 1234 123 123
32+
33+
Deprecated: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in %s on line %d
34+
35+
Deprecated: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in %s on line %d
36+
37+
Deprecated: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in %s on line %d
38+
39+
Deprecated: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in %s on line %d
40+
41+
Deprecated: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in %s on line %d
42+
43+
Deprecated: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in %s on line %d
44+
45+
Deprecated: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in %s on line %d
46+
47+
Deprecated: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in %s on line %d
48+
49+
Deprecated: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in %s on line %d
50+
51+
Deprecated: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in %s on line %d
3252
magic_quotes PHP 1 [email protected] http://a.b.c 1.2.3.4 123 123abc<>() O\'Henry 하퍼 aa:bb:cc:dd:ee:ff
3353
add_slashes PHP 1 [email protected] http://a.b.c 1.2.3.4 123 123abc<>() O\'Henry 하퍼 aa:bb:cc:dd:ee:ff
3454
callback PHP 1 [email protected] HTTP://A.B.C 1.2.3.4 123 123ABC<>() O'HENRY 하퍼 AA:BB:CC:DD:EE:FF

ext/filter/tests/059.phpt

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,16 @@ filter_var() and FILTER_SANITIZE_ADD_SLASHES
55
--FILE--
66
<?php
77

8-
function filter_test_compare($input) {
9-
return filter_var($input, FILTER_SANITIZE_ADD_SLASHES) === filter_var($input, FILTER_SANITIZE_MAGIC_QUOTES);
10-
}
11-
128
var_dump(filter_var("test'asd'asd'' asd\'\"asdfasdf", FILTER_SANITIZE_ADD_SLASHES));
139
var_dump(filter_var("'", FILTER_SANITIZE_ADD_SLASHES));
1410
var_dump(filter_var("", FILTER_SANITIZE_ADD_SLASHES));
1511
var_dump(filter_var(-1, FILTER_SANITIZE_ADD_SLASHES));
1612

17-
var_dump(filter_test_compare("test'asd'asd'' asd\'\"asdfasdf"));
18-
var_dump(filter_test_compare("''"));
19-
var_dump(filter_test_compare(''));
20-
var_dump(filter_test_compare(-1));
21-
2213
echo "Done\n";
2314
?>
2415
--EXPECT--
2516
string(36) "test\'asd\'asd\'\' asd\\\'\"asdfasdf"
2617
string(2) "\'"
2718
string(0) ""
2819
string(2) "-1"
29-
bool(true)
30-
bool(true)
31-
bool(true)
32-
bool(true)
3320
Done

0 commit comments

Comments
 (0)