History log of /PHP-8.2/ext/standard/pack.c (Results 1 – 25 of 196)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 791a6ef1 28-Aug-2024 David Carlier

Fix GH-15613: unpack on format hex strings repeater value.

close GH-15615


# e9195b21 28-Mar-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix undefined behaviour in unpack()


# 87862835 25-Mar-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix undefined behaviour in unpack()

atoi()'s return value is actually undefined when an underflow or
overflow occurs. For example on 32-bit on my system the overflow test
which input

Fix undefined behaviour in unpack()

atoi()'s return value is actually undefined when an underflow or
overflow occurs. For example on 32-bit on my system the overflow test
which inputs "h2147483648" results in repetitions==2147483647 and on
64-bit this gives repetitions==-2147483648. The reason the test works on
32-bit is because there's a second undefined behaviour problem:
in case 'h' when repetitions==2147483647, we add 1 and divide by 2.
This is signed-wrap undefined behaviour and accidentally triggers the
overflow check like we wanted to.

Avoid all this trouble and use strtol with explicit error checking.

This also fixes a semantic bug where repetitions==INT_MAX would result
in the overflow check to trigger, even though there is no overflow.

Closes GH-10943.

show more ...

# db64c1cb 13-Aug-2022 David Carlier

zend introduce const GNUC attribute. sub optimisation where there is no pointers, nor particular memory layout, thread local/volatile ... involved. usage concealed for now into little pack helpers.

zend introduce const GNUC attribute. sub optimisation where there is no pointers, nor particular memory layout, thread local/volatile ... involved. usage concealed for now into little pack helpers.
Closes #9326.

show more ...

# 5171cb43 20-May-2020 George Peter Banyard

Fix [-Wundef] warnings in standard extension

# e31c54d0 07-Jan-2022 Remi Collet

fix GH-7899 Regression in unpack for negative int value

# 524ce904 07-Jan-2022 Remi Collet

fix GH-7899 Regression in unpack for negative int value

# aff36587 29-Jun-2021 Patrick Allaert

Fixed some spaces used instead of tabs

# 21422e85 14-May-2021 K

Optimize unpack() for named fields (#6958)

Create name using either zend_init_string_fast (no repetitions) or by concatenating the name with zend_print_ulong_to_buf. This is much more effici

Optimize unpack() for named fields (#6958)

Create name using either zend_init_string_fast (no repetitions) or by concatenating the name with zend_print_ulong_to_buf. This is much more efficient than using snprintf. We also avoid repeated strlen() calculations.

show more ...

# efe79e0d 06-May-2021 K <127853+kaja47@users.noreply.github.com>

Simplify unpack logic (#6908)

- move endiannes check to compile time
- remove php_unpack function
- the compiler take care of sign extension

# 01b3fc03 06-May-2021 KsaR

Update http->https in license (#6945)

1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https.
2. Update few license 3.0 to 3.01 as

Update http->https in license (#6945)

1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https.
2. Update few license 3.0 to 3.01 as 3.0 states "php 5.1.1, 4.1.1, and earlier".
3. In some license comments is "at through the world-wide-web" while most is without "at", so deleted.
4. fixed indentation in some files before |

show more ...

# 422d1665 14-Jan-2021 Nikita Popov

Make convert_to_*_ex simple aliases of convert_to_*

Historically, the _ex variants separated the zval first, if a
conversion was necessary. This distinction no longer makes sense
sin

Make convert_to_*_ex simple aliases of convert_to_*

Historically, the _ex variants separated the zval first, if a
conversion was necessary. This distinction no longer makes sense
since PHP 7.

The only difference that was still left is that _ex checked whether
the type is the same first, but the usage of these macros did not
actually distinguish on whether such an inlined check is valuable
or not in a given context.

Also drop the unused convert_to_explicit_type macros.

show more ...

# c2a2d243 22-Sep-2020 Nikita Popov

Fix double free on unpack error

# de77344d 22-Sep-2020 Nikita Popov

Promote pack/unpack format errors

Errors related to invalid format strings (unlike data mismatch
errors) should throw ValueError.

Closes GH-6185.

# 048cc9ba 22-Sep-2020 Nikita Popov

Convert unpack offset warning to ValueError

# 2b5de6f8 01-Jul-2020 Max Semenik

Remove proto comments from C files

Closes GH-5758

# 7b4a4d2a 03-Jan-2020 Máté Kocsis

Use RETURN_THROWS() after try_convert_to_string()

Revision tags: php-7.3.13RC1, php-7.2.26RC1
# 0dba3a8e 02-Dec-2019 Christoph M. Becker

Merge branch 'PHP-7.4'

* PHP-7.4:
Fix #78833: Integer overflow in pack causes out-of-bound access


# 4ff242a9 02-Dec-2019 Christoph M. Becker

Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
Fix #78833: Integer overflow in pack causes out-of-bound access


# 3d81c548 02-Dec-2019 Christoph M. Becker

Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
Fix #78833: Integer overflow in pack causes out-of-bound access


Revision tags: php-7.4.0, php-7.2.25
# db420cb6 19-Nov-2019 Christoph M. Becker

Fix #78833: Integer overflow in pack causes out-of-bound access

We check for potential signed integer overflow, and bail out
gracefully, in that case.

Revision tags: 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, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3
# 5d6e923d 24-Sep-2019 Gabriel Caruso

Remove mention of PHP major version in Copyright headers

Closes GH-4732.

Revision tags: 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
# 7686b0b8 05-Jun-2019 Nikita Popov

Merge branch 'PHP-7.4'


Revision tags: php-7.2.19, php-7.3.6, php-7.1.30, 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
# a31f4642 26-Feb-2019 Nikita Popov

Allow exceptions in __toString()

RFC: https://wiki.php.net/rfc/tostring_exceptions

And convert some object to string conversion related recoverable
fatal errors into Error excep

Allow exceptions in __toString()

RFC: https://wiki.php.net/rfc/tostring_exceptions

And convert some object to string conversion related recoverable
fatal errors into Error exceptions.

Improve exception safety of internal code performing string
conversions.

show more ...

# 001d4344 03-Jun-2019 Nikita Popov

Finish func_info updates for ext/standard

12345678