diff options
| author | Nikita Popov <nikita.ppv@gmail.com> | 2020-05-07 14:43:36 +0200 |
|---|---|---|
| committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-05-07 14:44:13 +0200 |
| commit | 481b7421f3dc2f2706e54dc1b8d4701960fde4aa (patch) | |
| tree | 49e628b990e0eb7df511aa4612ee57d1d4cbee65 /ext/mbstring | |
| parent | 98acdbff1832cc7b7f1187e4d9feff1c99835c9b (diff) | |
| download | php-git-481b7421f3dc2f2706e54dc1b8d4701960fde4aa.tar.gz | |
Throw warning if invalid internal_encoding ini is specified
Diffstat (limited to 'ext/mbstring')
| -rw-r--r-- | ext/mbstring/mbstring.c | 4 | ||||
| -rw-r--r-- | ext/mbstring/tests/ini_mbstring_invalid.phpt | 3 | ||||
| -rw-r--r-- | ext/mbstring/tests/mb_internal_encoding_ini_invalid_encoding.phpt | 3 |
3 files changed, 10 insertions, 0 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index f42b449c34..84e28f4a4b 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -898,6 +898,10 @@ static int _php_mb_ini_mbstring_internal_encoding_set(const char *new_value, siz if (!new_value || !new_value_length || !(encoding = mbfl_name2encoding(new_value))) { /* falls back to UTF-8 if an unknown encoding name is given */ + if (new_value) { + php_error_docref("ref.mbstring", E_WARNING, + "Unknown encoding \"%s\" in ini setting", new_value); + } encoding = mbfl_no2encoding(mbfl_no_encoding_utf8); } MBSTRG(internal_encoding) = encoding; diff --git a/ext/mbstring/tests/ini_mbstring_invalid.phpt b/ext/mbstring/tests/ini_mbstring_invalid.phpt index 57f2404fc7..17a1efd245 100644 --- a/ext/mbstring/tests/ini_mbstring_invalid.phpt +++ b/ext/mbstring/tests/ini_mbstring_invalid.phpt @@ -23,6 +23,7 @@ PHP Deprecated: PHP Startup: Use of mbstring.http_input is deprecated in Unknow PHP Warning: PHP Startup: INI setting contains invalid encoding "HTTP_INPUT" in Unknown on line 0 PHP Deprecated: PHP Startup: Use of mbstring.http_output is deprecated in Unknown on line 0 PHP Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 +PHP Warning: PHP Startup: Unknown encoding "UNKNOWN_ENCODING" in ini setting in Unknown on line 0 Warning: PHP Startup: INI setting contains invalid encoding "DETECT_ORDER" in Unknown on line 0 @@ -33,3 +34,5 @@ Warning: PHP Startup: INI setting contains invalid encoding "HTTP_INPUT" in Unkn Deprecated: PHP Startup: Use of mbstring.http_output is deprecated in Unknown on line 0 Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 + +Warning: PHP Startup: Unknown encoding "UNKNOWN_ENCODING" in ini setting in Unknown on line 0 diff --git a/ext/mbstring/tests/mb_internal_encoding_ini_invalid_encoding.phpt b/ext/mbstring/tests/mb_internal_encoding_ini_invalid_encoding.phpt index 9f3ce5f8c5..4d2fb1eca1 100644 --- a/ext/mbstring/tests/mb_internal_encoding_ini_invalid_encoding.phpt +++ b/ext/mbstring/tests/mb_internal_encoding_ini_invalid_encoding.phpt @@ -21,8 +21,11 @@ echo ini_get('mbstring.internal_encoding')."\n"; ?> --EXPECT-- PHP Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 +PHP Warning: PHP Startup: Unknown encoding "BAD" in ini setting in Unknown on line 0 Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 + +Warning: PHP Startup: Unknown encoding "BAD" in ini setting in Unknown on line 0 *** Testing INI mbstring.internal_encoding: invalid encoding specified in INI *** UTF-8 BAD |
