History log of /PHP-8.2/ext/standard/user_filters.c (Results 1 – 25 of 176)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# c087398c 23-Mar-2024 Jakub Zelenka

Fix GH-13264: Part 1 - Memory leak on filter failure

Closes GH-13790


# 1f6770ab 09-Nov-2023 Máté Kocsis

Remove unused stream filter resource name


# 9d5f2f13 20-Mar-2023 Ilija Tovilo

Use new ZSTR_INIT_LITERAL macro (#10879)


# f6ef5fbb 12-Oct-2022 Máté Kocsis

Declare ext/standard constants in stubs - part 12 (#9729)


# 90b7bde6 03-Nov-2021 Dmitry Stogov

Use more compact representation for packed arrays.

- for packed arrays we store just an array of zvals without keys.
- the elements of packed array are accessible throuf as ht->arPacked[

Use more compact representation for packed arrays.

- for packed arrays we store just an array of zvals without keys.
- the elements of packed array are accessible throuf as ht->arPacked[i]
instead of ht->arData[i]
- in addition to general ZEND_HASH_FOREACH_* macros, we introduced similar
familied for packed (ZEND_HASH_PACKED_FORECH_*) and real hashes
(ZEND_HASH_MAP_FOREACH_*)
- introduced an additional family of macros to access elements of array
(packed or real hashes) ZEND_ARRAY_ELEMET_SIZE, ZEND_ARRAY_ELEMET_EX,
ZEND_ARRAY_ELEMET, ZEND_ARRAY_NEXT_ELEMENT, ZEND_ARRAY_PREV_ELEMENT
- zend_hash_minmax() prototype was changed to compare only values

Because of smaller data set, this patch may show performance improvement
on some apps and benchmarks that use packed arrays. (~1% on PHP-Parser)

TODO:
- sapi/phpdbg needs special support for packed arrays (WATCH_ON_BUCKET).
- zend_hash_sort_ex() may require converting packed arrays to hash.

show more ...


# 15197702 07-Oct-2021 Nikita Popov

Fixed bug #54350

Don't allow calling fclose() on the stream while in the user
filter callback. This is basically the same protection as xp_ssl
streams use during callback invocations

Fixed bug #54350

Don't allow calling fclose() on the stream while in the user
filter callback. This is basically the same protection as xp_ssl
streams use during callback invocations.

There are more issues in this general area (e.g. stack overflow
on stream_filter_remove), but this addresses freeing the stream
during the filter callback invocation at least.

show more ...


# 485d3acf 01-Sep-2021 Nikita Popov

Make zend_call_function() failure handling consistent

This API had rather peculiar behavior in case the provided function
is not callable. For some types of failures, it would silently

Make zend_call_function() failure handling consistent

This API had rather peculiar behavior in case the provided function
is not callable. For some types of failures, it would silently
return FAILURE (e.g. a function does not exist), while for others
(e.g. a class does not exist) it would generate a warning. Depending
on what the calling code does, this can either result in silent
failure or duplicate errors.

This commit switches the contract such that zend_call_function()
always (*) succeeds, though that success might be in the form of
throwing an exception. Calling a non-callable will now consistently
throw an exception.

There are some rare callers that do want to ignore missing methods,
for legacy APIs that are specific with optional methods. For these
use cases a new zend_call_method_if_exists() API is provided.

Calling code generally does not need to explicitly check for and
report zend_call_function() failures -- it can rely on
zend_call_function() having already done so. However, existing
code that does check for failure should continue to work fine.

(*) The only exception to this is if EG(active) being false during
late engine shutdown. This is not relevant to most code, but code
running in destructors and similar may need to be aware of the
possibility.

show more ...


# 99d37716 01-Sep-2021 Nikita Popov

Fix check in user filter dtor

obj is always non-null, we need to check for UNDEF here.

This was caught by the new assertion introduced in
3ec14000c6c93b3b0abee52321eb1bf88fad19b

Fix check in user filter dtor

obj is always non-null, we need to check for UNDEF here.

This was caught by the new assertion introduced in
3ec14000c6c93b3b0abee52321eb1bf88fad19b7.

show more ...


# 05a21792 20-Aug-2021 Nikita Popov

Declare php_user_filter::$stream property

This property is temporarily set during the filter() call. I have
no idea why this wasn't added as an argument to filter() instead.


# 7f7a90b2 20-Aug-2021 Nikita Popov

Remove php_user_filter::$filter property

This property was formerly used to hold the php_stream_filter
pointer for destruction purposes. However, this is no longer used,
and we don't

Remove php_user_filter::$filter property

This property was formerly used to hold the php_stream_filter
pointer for destruction purposes. However, this is no longer used,
and we don't need to create this resource at all.

show more ...


# 67776308 13-Jul-2021 Nikita Popov

Fix php_user_filter::filter() return value

We specify that this needs to return an int, so do so.
PSFS_ERR_FATAL has value 0 which is what the null value previously
returned would be

Fix php_user_filter::filter() return value

We specify that this needs to return an int, so do so.
PSFS_ERR_FATAL has value 0 which is what the null value previously
returned would be interpreted as.

show more ...


# 56c16334 29-May-2021 Anatol Belski

ext: Cleanup some dead assignments

Signed-off-by: Anatol Belski <ab@php.net>


# a3c38c25 06-May-2021 Máté Kocsis

Fix return type of php_user_filter::onCreate()


# 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 ...


# 4c6533c2 17-Feb-2021 Máté Kocsis

Generate class entries from stubs for com, standard, xmlreader, xmlwriter, xsl, zip, Zend

Closes GH-6706


# 3e01f5af 15-Jan-2021 Nikita Popov

Replace zend_bool uses with bool

We're starting to see a mix between uses of zend_bool and bool.
Replace all usages with the standard bool type everywhere.

Of course, zend_bool

Replace zend_bool uses with bool

We're starting to see a mix between uses of zend_bool and bool.
Replace all usages with the standard bool type everywhere.

Of course, zend_bool is retained as an alias.

show more ...


# 2875d0f9 12-Nov-2020 Nikita Popov

Fix memory leak when user filter onCreate returns false


# e60f927f 22-Sep-2020 Nikita Popov

stream_bucket_new() cannot return false

php_stream_bucket_new() is infallible.


# 5dcb8f2f 08-Sep-2020 Christoph M. Becker

Fix #72941: Modifying bucket->data by-ref has no effect any longer

To match the PHP 5 behavior, we have to explicitly cater to `buffer` or
`data` being references.

Closes GH-609

Fix #72941: Modifying bucket->data by-ref has no effect any longer

To match the PHP 5 behavior, we have to explicitly cater to `buffer` or
`data` being references.

Closes GH-6096.

show more ...


# 4a438b44 03-Sep-2020 George Peter Banyard

Warning to Error promotion in ext/standard

Those should be the last ones other than set(raw)cookie()

Closes GH-5814


# 2803c8fb 07-Aug-2020 Máté Kocsis

Add all the missing parameter types to stubs

Closes GH-5955


# 9002e95f 17-Jul-2020 Nikita Popov

Use proper methods for php_user_filter implementation

These are dummy methods, but should at least check zpp for
arginfo consistency.


# d30cd7d7 26-May-2020 Máté Kocsis

Review the usage of apostrophes in error messages

Closes GH-5590


# 2b5de6f8 01-Jul-2020 Max Semenik

Remove proto comments from C files

Closes GH-5758


# 0280b83e 06-Jul-2020 Nikita Popov

Avoid some unnecessary uses of no_separation=0

For the rare cases where references are part of the API,
construct them explicitly. Otherwise do not allow separation.


12345678