summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2021-02-231-1/+1
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: run-tests: fixed exit code not being set on BORKED tests
| | * Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2021-02-231-1/+1
| | |\ | | | | | | | | | | | | | | | | * PHP-7.3: run-tests: fixed exit code not being set on BORKED tests
| | | * run-tests: fixed exit code not being set on BORKED testsPHP-7.3Dylan K. Taylor2021-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | When no test paths are specified this shows up when 'make test' is used on a PECL extension without specifying tests to run (or in php-src too, I guess...) Closes GH-6717.
* | | | Fix Windows buildNikita Popov2021-02-231-1/+1
| | | | | | | | | | | | | | | | Don't add to a void pointer.
* | | | Merge branch 'PHP-8.0'Christoph M. Becker2021-02-230-0/+0
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Update php_version.h to proper version number
| * | | Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2021-02-230-0/+0
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.4: Update php_version.h to proper version number
| | * | Update php_version.h to proper version numberChristoph M. Becker2021-02-231-3/+3
| | | |
* | | | Remove free_chunk APINikita Popov2021-02-233-54/+2
| | | | | | | | | | | | | | | | | | | | | | | | This API only works in very limited circumstances -- relying on it will invariably lead to leaks. The correct way to "free" something from the pool is to use the checkpoint API.
* | | | Remove resize_chunk APINikita Popov2021-02-232-29/+0
| | | | | | | | | | | | | | | | | | | | The last user has been dropped in the previous commit. This has never worked meaningfully in the first place.
* | | | Fixed bug #80761Nikita Popov2021-02-232-35/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When row data split across multiple packets, allocate a temporary buffer that can be reallocated, and only copy into the row buffer pool arena once we know the final size. This avoids quadratic memory usage for very large results.
* | | | Merge branch 'PHP-8.0'Nikita Popov2021-02-232-10/+36
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fixed bug #80786
| * | | Fixed bug #80786Nikita Popov2021-02-233-10/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't use r0 as temporary register in math_double_long if it is already used for a memory result. This was already done in one branch, but not the other.
* | | | Fixed bug #80724Cameron Porter2021-02-235-4/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FilesystemIterator::FOLLOW_SYMLINKS is currently treated as a directory key mode flag, even though it does not change the way that the key during iteration is set. To address this, FOLLOW_SYMLINKS has been converted into an OTHER flag. Closes GH-6695.
* | | | Fix #80329: Add option to specify LOAD DATA LOCAL white list folderDarek Slusarczyk2021-02-2340-26/+743
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * allow the user to specify a folder where files that can be sent via LOAD DATA LOCAL can exist * add mysqli.local_infile_directory for mysqli (ignored if mysqli.allow_local_infile is enabled) * add PDO::MYSQL_ATTR_LOCAL_INFILE_DIRECTORY for pdo_mysql (ignored if PDO::MYSQL_ATTR_LOCAL_INFILE is enabled) * add related tests * fixes for building with libmysql 8.x * small improvement in existing tests * update php.ini-[development|production] files Closes GH-6448. Co-authored-by: Nikita Popov <nikic@php.net>
* | | | Merge branch 'PHP-8.0'Christoph M. Becker2021-02-224-4/+67
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fix #75776: Flushing streams with compression filter is broken
| * | | Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2021-02-225-4/+70
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.4: Fix #75776: Flushing streams with compression filter is broken
| | * | Fix #75776: Flushing streams with compression filter is brokenChristoph M. Becker2021-02-225-4/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First, the `bzip2.compress` filter has the same issue as `zlib.deflate` so we port the respective fix[1] to ext/bz2. Second, there is still an issue, if a stream with an attached compression filter is flushed before it is closed, without any writes in between. In that case, the compression is never finalized. We fix this by enforcing a `_php_stream_flush()` with the `closing` flag set in `_php_stream_free()`, whenever a write filter is attached. This call is superfluous for most write filters, but does not hurt, even when it is unnecessary. [1] <http://git.php.net/?p=php-src.git;a=commit;h=20e75329f2adb11dd231852c061926d0e4080929> Closes GH-6703.
* | | | Generate class entries from stubs for com, standard, xmlreader, xmlwriter, ↵Máté Kocsis2021-02-2239-125/+345
| | | | | | | | | | | | | | | | | | | | | | | | xsl, zip, Zend Closes GH-6706
* | | | Merge branch 'PHP-8.0'Christoph M. Becker2021-02-223-2/+18
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fix #80771: phpinfo(INFO_CREDITS) displays nothing in CLI
| * | | Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2021-02-224-2/+21
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.4: Fix #80771: phpinfo(INFO_CREDITS) displays nothing in CLI
| | * | Fix #80771: phpinfo(INFO_CREDITS) displays nothing in CLIChristoph M. Becker2021-02-224-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no good reason not to show the credits in text based SAPIs, except for brevity. Thus, we suppress the credits from `php -i`. Closes GH-6710.
* | | | Merge branch 'PHP-8.0'Christoph M. Becker2021-02-223-9/+30
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fix #80774: session_name() problem with backslash
| * | | Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2021-02-224-9/+33
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.4: Fix #80774: session_name() problem with backslash
| | * | Fix #80774: session_name() problem with backslashChristoph M. Becker2021-02-224-9/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we do no longer URL decode cookie names[1], we must not URL encode the session name. We need to prevent broken Set-Cookie headers, by rejecting names which contain invalid characters. [1] <http://git.php.net/?p=php-src.git;a=commit;h=6559fe912661ca5ce5f0eeeb591d928451428ed0> Closes GH-6711.
* | | | Merge branch 'PHP-8.0'Nikita Popov2021-02-222-0/+38
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fix trampoline leak on dynamic static call of non-static method
| * | | Fix trampoline leak on dynamic static call of non-static methodNikita Popov2021-02-222-0/+38
| | | | | | | | | | | | | | | | Fixes oss-fuzz #30317.
* | | | Don't resolve special class namesNikita Popov2021-02-222-23/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adjust zend_resolve_class_name() to not resolve special class names. This avoids the need to only call this function after a preliminary check for non-default fetch types. Doing so is somewhat fragile when dynamic class names are involved. Fixes oss-fuzz #31139.
* | | | Merge branch 'PHP-8.0'Nikita Popov2021-02-221-0/+31
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fixed bug #80781
| * | | Merge branch 'PHP-7.4' into PHP-8.0Nikita Popov2021-02-221-0/+31
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.4: Fixed bug #80781
| | * | Fixed bug #80781Nikita Popov2021-02-225-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | zend_find_array_dim_slow() may throw, make sure to handle this. This backports the code we already use for this on PHP-8.0, and also backports an exception check that makes this easier to catch.
* | | | Fix typo [ci skip]Markus Staab2021-02-221-1/+1
| | | | | | | | | | | | | | | | Closes GH-6713.
* | | | NEWS: Associate FR to xxHash additionsAnatol Belski2021-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | [ci skip] Signed-off-by: Anatol Belski <ab@php.net>
* | | | UPGRADING: Add note about xxHash secret and fix a typoAnatol Belski2021-02-212-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | [ci skip] Signed-off-by: Anatol Belski <ab@php.net>
* | | | hash: Implement secret support for xxh3 and xxh128Anatol Belski2021-02-203-24/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A secret can be passed through the options array. The length is currently in the range of 136 to 256 bytes. The concerned algos are already marked as non serializable. Signed-off-by: Anatol Belski <ab@php.net>
* | | | Revert "Remove class validation. zend_lookup_class_ex() performs it anyway."Dmitry Stogov2021-02-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 61cf1355fd53b6556f0502510ba3e1efbd04d242. Class name validation is only performed if key is not passed. Here, lc_name is passed as key.
* | | | Remove class validation. zend_lookup_class_ex() performs it anyway.Dmitry Stogov2021-02-201-6/+0
| | | |
* | | | Reduce ZPP API overheadDmitry Stogov2021-02-201-7/+6
| | | |
* | | | Fix closure GC handler for fake closuresNikita Popov2021-02-202-2/+30
| | | | | | | | | | | | | | | | Fixes oss-fuzz #31135.
* | | | Fixed NULL pointer dereferenceDmitry Stogov2021-02-201-1/+2
| | | |
* | | | Attempt to fix ↵Dmitry Stogov2021-02-191-9/+40
| | | | | | | | | | | | | | | | ext\standard\tests\file\basename_bug66395_variation2-win32.phpt and ext\standard\tests\file\pathinfo_basic1-win32.phpt
* | | | Improve basename(). Avoid calling mblen() for ASCII compatible locales.Dmitry Stogov2021-02-194-59/+165
| | | |
* | | | Fix typoAnton Vasiliev2021-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Closes GH-6708 Signed-off-by: George Peter Banyard <girgias@php.net>
* | | | Fix crash during default value evaluationNikita Popov2021-02-181-0/+5
| | | |
* | | | Properly relove self::CONSTANT at compile timeDmitry Stogov2021-02-181-1/+13
| | | |
* | | | Fixed bug #53826Nikita Popov2021-02-183-18/+58
| | | | | | | | | | | | | | | | | | | | We should handle the case where the method doesn't exist, and where it is not visible the same way.
* | | | We don't need map_ptr slots for op_array.run_time_cache during preloading.Dmitry Stogov2021-02-181-11/+5
| | | |
* | | | Generate ext/spl class entries from stubsMáté Kocsis2021-02-1829-233/+843
| | | | | | | | | | | | | | | | Closes GH-6709
* | | | Fixed bug #75474Nikita Popov2021-02-183-7/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For fake closures, we need to share static variables with the original function, not work on a separate copy. Calling a function through Closure::fromCallable() should have the same behavior as calling it directly.
* | | | Fix static variable behavior with inheritanceNikita Popov2021-02-1819-144/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a method is inherited, the static variables will now always use the initial values, rather than the values at the time of inheritance. As such, behavior no longer depends on whether inheritance happens before or after a method has been called. This is implemented by always keeping static_variables as the original values, and static_variables_ptr as the modified copy. Closes GH-6705.
* | | | Initialize property to UNDEF on unserialize overwriteNikita Popov2021-02-182-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The UNDEF marker here is important to prevent the creation of a reference to the property currently being overwritten, which would then leak. This fixes oss-fuzz 6029559193534464, which was incorrectly merged into oss-fuzz #30584 (which is reported at https://github.com/google/oss-fuzz/issues/5211).