History log of /PHP-7.3/ext/iconv/iconv.c (Results 1 – 25 of 286)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 32a26443 16-Mar-2020 Christoph M. Becker

Fix #79200: Some iconv functions cut Windows-1258

To cater to potentially state-dependent encodings, we have to reset the
conversion descriptor into its initial shift state to properly f

Fix #79200: Some iconv functions cut Windows-1258

To cater to potentially state-dependent encodings, we have to reset the
conversion descriptor into its initial shift state to properly finish
the conversion. Furthermore, state-dependent encodings may not show
progress when comparing `in_left` before and after the conversion; we
rather have to see whether `out_left` has decreased. Also we have to
cater to the fact that the final potentially state resetting call does
not signal failure, but we still have to break respective loops
afterwards.

show more ...


Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4
# 195c2008 08-Oct-2019 Christoph M. Becker

Fix #78642: Wrong libiconv version displayed

The high byte of `_libiconv_version` specifies the major version; the
low byte the minor version.


Revision tags: php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3, php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3, php-7.3.7, php-7.2.20, php-7.4.0alpha2, php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30
# 7cf7148a 27-May-2019 Stanislav Malyshev

Fix bug #78069 - Out-of-bounds read in iconv.c:_php_iconv_mime_decode() due to integer overflow


Revision tags: php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1, php-7.2.17, php-7.3.4, php-7.1.28, php-7.3.4RC1, php-7.2.17RC1, php-7.1.27, php-7.3.3, php-7.2.16, php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2, php-7.2.15RC1, php-7.3.2RC1, php-5.6.40, php-7.1.26, php-7.3.1, php-7.2.14, php-7.2.14RC1, php-7.3.1RC1, php-5.6.39, php-7.1.25, php-7.2.13, php-7.0.33, php-7.3.0, php-7.1.25RC1, php-7.2.13RC1, php-7.3.0RC6
# a56cdd0a 14-Nov-2018 Christoph M. Becker

Fix #77147: Fix for 60494 ignores ICONV_MIME_DECODE_CONTINUE_ON_ERROR

If the `ICONV_MIME_DECODE_CONTINUE_ON_ERROR` flag is set, parsing
should not fail, if there are illegal characters i

Fix #77147: Fix for 60494 ignores ICONV_MIME_DECODE_CONTINUE_ON_ERROR

If the `ICONV_MIME_DECODE_CONTINUE_ON_ERROR` flag is set, parsing
should not fail, if there are illegal characters in the headers;
instead we silently ignore these like before.

show more ...


Revision tags: php-7.1.24, php-7.2.12, php-7.3.0RC5, php-7.1.24RC1, php-7.2.12RC1, php-7.3.0RC4, php-7.1.23, php-7.2.11, php-7.3.0RC3, php-7.1.23RC1, php-7.2.11RC1, php-7.3.0RC2
# 9cbe1283 22-Sep-2018 Christoph M. Becker

Fix #66828: iconv_mime_encode Q-encoding longer than it should be

Before the fix for bug 48289 has been applied, the algorithm to
construct a Q-encoded-word has been optimistic, i.e. try

Fix #66828: iconv_mime_encode Q-encoding longer than it should be

Before the fix for bug 48289 has been applied, the algorithm to
construct a Q-encoded-word has been optimistic, i.e. try to encode as
many bytes that *may* fit in the remaining space, calculate the actual
length of the Q-encoded word, and if it's too long, try again with a
reduced size. However, the fix for the mentioned bug replaced this by
a pessimistic algorithm, which always terminates[1] the for loop[2]
during the first iteration (which renders the following 3 lines as dead
code), and as such easily produces unnecessarily short encoded-words.
Instead the proper fix for the bug would have been to make sure that
`out_size` is always decremented, if the space isn't sufficient for the
encoded-word.

[1] <https://github.com/php/php-src/blob/php-7.3.0beta3/ext/iconv/iconv.c#L1421>
[2] <https://github.com/php/php-src/blob/php-7.3.0beta3/ext/iconv/iconv.c#L1360>

show more ...


Revision tags: php-5.6.38, php-7.1.22, php-7.3.0RC1, php-7.2.10, php-7.0.32
# 153e292e 04-Sep-2018 Nikita Popov

Escape trigraph sequence

??= is a trigraph for #, so it needs to be escaped. To stay
consistent I'm escaping all question marks in this literal, even
though one of the latter two wou

Escape trigraph sequence

??= is a trigraph for #, so it needs to be escaped. To stay
consistent I'm escaping all question marks in this literal, even
though one of the latter two would suffice.

show more ...


Revision tags: php-7.1.22RC1, php-7.3.0beta3, php-7.2.10RC1
# efb86aef 26-Aug-2018 Christoph M. Becker

Fix #68180: iconv_mime_decode can return extra characters in a header

Basically, the algorithm to append a converted string to an existing
`smart_str` works by increasing the `smart_str`

Fix #68180: iconv_mime_decode can return extra characters in a header

Basically, the algorithm to append a converted string to an existing
`smart_str` works by increasing the `smart_str` buffer, to let `iconv`
convert characters until there is no more space, to set the new length
of the `smart_str` and to repeat until there is no more input.

Formerly, the new length calculation has been wrong, though, since we
would have to take the old `out_len` into account (`buf_growth -
old_out_len - out_len`). However, since there is no need to take the
old `out_len` into account when increasing the `smart_str` buffer, we
can simplify the fix, avoiding an additional variable.

show more ...


# e29c946c 25-Aug-2018 Christoph M. Becker

Fix #60494: iconv_mime_decode does ignore special characters

We must not ignore erroneous characters in mime headers, but rather let
iconv_mime_decode() fail in this case, issuing the us

Fix #60494: iconv_mime_decode does ignore special characters

We must not ignore erroneous characters in mime headers, but rather let
iconv_mime_decode() fail in this case, issuing the usual notice
regarding illegal characters.

show more ...


Revision tags: php-7.1.21, php-7.2.9, php-7.3.0beta2
# 8754d441 12-Aug-2018 Christoph M. Becker

Fix #63839: iconv_mime_decode_headers function is skipping headers

We have to cater to the possibility that `=?` is not the start of an
encoded-word, but rather a literal `=?`. If a lin

Fix #63839: iconv_mime_decode_headers function is skipping headers

We have to cater to the possibility that `=?` is not the start of an
encoded-word, but rather a literal `=?`. If a line break is found
while we're still looking for the charset, we can safely assume that
it's a literal `=?`, and act accordingly.

show more ...


# 6e1980e1 12-Aug-2018 Christoph M. Becker

Fix #55146: iconv_mime_decode_headers() skips some headers

If we're expecting the start of an encoded word (`=?`), but instead of
the question mark get a line break (CR or LF), we must n

Fix #55146: iconv_mime_decode_headers() skips some headers

If we're expecting the start of an encoded word (`=?`), but instead of
the question mark get a line break (CR or LF), we must not append it to
the `pretval`.

show more ...


# eb032907 12-Aug-2018 Christoph M. Becker

Fix #53891: iconv_mime_encode() fails to Q-encode UTF-8 string

The minimum length of an encoded-word is actually the pure encoding
overhead plus the length of the `output-charset` plus t

Fix #53891: iconv_mime_encode() fails to Q-encode UTF-8 string

The minimum length of an encoded-word is actually the pure encoding
overhead plus the length of the `output-charset` plus the minimum unit
of encoded text, which is 4 for B-encoding and (for simplicity) 3 for
Q-encoding. We also cater to the possibility that we need further
encoded words, which would be split by the `line-break-chars` followed
by a space character. Obviously, the former `out_charset_len + 12` is
too simplistic and wrong in the given case (where the magic number
would be 13).

These simplifications are somewhat wasteful, but iconv_mime_encode()
with Q-encoding is wasteful anyway (see bug 66828[1]), and the proper
solution to convert the whole input to the desired output charset
upfront, and applying the encoding afterwards appears too much a change
for the stable releases.

[1] <https://bugs.php.net/66828>

show more ...


Revision tags: php-7.1.21RC1, php-7.3.0beta1, php-7.2.9RC1, php-5.6.37, php-7.1.20, php-7.3.0alpha4, php-7.0.31, php-7.2.8, php-7.1.20RC1, php-7.2.8RC1, php-7.3.0alpha3
# 8d3f8ca1 03-Jul-2018 Peter Kokot

Remove unused Git attributes ident

The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
use

Remove unused Git attributes ident

The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.

In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file
contents.

This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.

show more ...


# 4a475a49 04-Jul-2018 Dmitry Stogov

Replace legacy zval_dtor() by zval_ptr_dtor_nogc() or even more specialized destructors.
zval_dtor() doesn't make a lot of sense in PHP-7.* and it's used incorrectly in some places.
Its occur

Replace legacy zval_dtor() by zval_ptr_dtor_nogc() or even more specialized destructors.
zval_dtor() doesn't make a lot of sense in PHP-7.* and it's used incorrectly in some places.
Its occurances should be replaced by zval_ptr_dtor() or zval_ptr_dtor_nogc(), or even more specialized destructors.

show more ...


Revision tags: php-7.3.0alpha2, php-7.1.19, php-7.2.7, php-7.1.19RC1, php-7.3.0alpha1, php-7.2.7RC1
# 5eb1f92f 28-May-2018 Dmitry Stogov

Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence.


Revision tags: php-7.1.18, php-7.2.6, php-7.2.6RC1, php-7.1.18RC1
# 524f5245 08-May-2018 Dmitry Stogov

Avoid useless checks, using zend_string_efree(), in cases where the string is known to be a temporary allocated zend_string.


Revision tags: php-5.6.36, php-7.2.5, php-7.1.17, php-7.0.30
# ee76a5ae 23-Apr-2018 Stanislav Malyshev

Fix tsrm_ls


# 06d309fd 23-Apr-2018 Stanislav Malyshev

Fix bug #76249 - fail on invalid sequences


Revision tags: php-7.1.17RC1, php-7.2.5RC1, php-5.6.35, php-7.0.29, php-7.2.4, php-7.1.16, php-7.1.16RC1, php-7.2.4RC1, php-7.1.15, php-5.6.34, php-7.2.3, php-7.0.28
# b2cd2741 17-Feb-2018 Anatol Belski

Remove unnecessary cast


Revision tags: php-7.2.3RC1, php-7.1.15RC1, php-7.1.14, php-7.2.2
# aad76a9b 25-Jan-2018 Philip Prindeville

Be consistent in clearing out in php_iconv_string()


Revision tags: php-7.1.14RC1, php-7.2.2RC1, php-7.1.13, php-5.6.33, php-7.2.1, php-7.0.27
# a6519d05 02-Jan-2018 Xinchen Hui

year++


# 7a7ec01a 02-Jan-2018 Xinchen Hui

year++


# ccd4716e 02-Jan-2018 Xinchen Hui

year++


# 83e495e0 14-Dec-2017 Dmitry Stogov

Move constants into read-only data segment


# 9e709e2f 14-Dec-2017 Dmitry Stogov

Move constants into read-only data segment


Revision tags: php-7.2.1RC1
# 6a9d2b21 07-Dec-2017 Dmitry Stogov

Cleanup type conversion


12345678910>>...12