summaryrefslogtreecommitdiff
path: root/Zend
Commit message (Collapse)AuthorAgeFilesLines
* Fix test caseChristoph M. Becker2019-05-141-1/+1
| | | | | stderr is supposed to be redirected to NUL (which is roughly equivalent to /dev/null on POSIX), but actually was redirected to a file.
* Fix #77993: Wrong parse error for invalid hex literal on WindowsTheodore Brown2019-05-134-4201/+4206
| | | | | | | | If a PHP file contains an invalid hex literal such as `0x_10`, the expected error is `Parse error: syntax error, unexpected 'x_10' (T_STRING) in %s on line %d`. This already worked correctly on Linux, but on Windows prior to this patch a different error was produced: `Parse error: Invalid numeric literal in %s on line %d`.
* Fix resolution of "parent" during inheritance checkNikita Popov2019-05-082-2/+19
| | | | | We can't assume that the method we're checking against is part of the parent class...
* Fix pgsql use after free trying to reuse closed connectionNikita Popov2019-04-101-1/+1
| | | | | | | | | | | When a connection is closed, we also need to remove the hash entry from the regular_list, as it now points to freed memory. To do this store a reverse mapping from the connection to the hash string. It would be nicer to introduce a wrapping structure for the pgsql link resource that could store the hash (and notices), but that would require large changes to the extension, so I'm going for a more minimal fix here.
* Repare SWITCH VMDmitry Stogov2019-04-091-2/+2
|
* Fixed bug #77844Nikita Popov2019-04-081-16/+18
| | | | | We should probably return an integer result from the operation in typed mode, right now the result is always a string.
* Don't disable object slot reuse while running shutdown functionstwosee2019-03-183-4/+20
| | | | | | We only need to do this once we're running destructors. The current approach interferes with some event loop code that runs everything inside a shutdown function.
* Fixed bug #77738 (Nullptr deref in zend_compile_expr)Xinchen Hui2019-03-142-2/+10
|
* Fix assertion in Exception::getMessage() if $message is a refNikita Popov2019-02-252-12/+54
| | | | And same for other properties. Encountered in Symfony.
* Fixed bug #77660 (Segmentation fault on break 2147483648)Xinchen Hui2019-02-252-2/+12
|
* Fixed bug #77652Nikita Popov2019-02-223-1/+45
|
* Make MADV_HUGEPAGE conditional on USE_ZEND_ALLOC_HUGE_PAGESNikita Popov2019-02-181-7/+8
| | | | | | There have been multiple reports of large slowdowns due to the use of MADV_HUGEPAGE, so make it conditional on USE_ZEND_ALLOC_HUGE_PAGES, just like MAP_HUGETLB already is.
* Fixed bug #75546DanielCiochiu2019-02-121-1/+3
| | | | | By respecting the SILENT flag when checking the visibility of a class constant.
* Fixed bug #77589 (Core dump using parse_ini_string with numeric sections)Xinchen Hui2019-02-113-130/+172
| | | | Section name should not be typed(NULL, FALSE, TRUE etc)
* Make special assert() handling independent of compiler flagsNikita Popov2019-01-291-8/+10
|
* Fixed bug #77530: PHP crashes when parsing "(2)::class"ekinhbayar2019-01-282-1/+18
|
* Merge remote-tracking branch 'php-src/PHP-7.2' into PHP-7.2Nikita Popov2019-01-242-0/+27
|\
| * Fixed bug #77494 (Disabling class causes segfault on member access)Dmitry Stogov2019-01-242-0/+27
| |
* | Revert "Prefix error_code with underscore in FastZPP implementation"Nikita Popov2019-01-241-25/+25
|/ | | | | | | | | | | | This reverts commit 6305119a5193d4318add01190ca4afbb49ded102. This is a source-compatibility break for extensions that define custom FastZPP macros, such as ext/uv: https://github.com/bwoebi/php-uv/blob/a983eb17b69f74a45d785ddc6a7bff3d4531b88c/php_uv.c#L75 I don't think that FastZPP was intended to be used this way, but let's revert this from release branches to avoid extension breakage.
* Add flag to disable jumptable optimizationNikita Popov2019-01-242-0/+7
| | | | | | | This is useful for coverage. While it is currently safe to just skip over the SWITCH_* opcodes, this may not be true in the future due to opcache optimizations, so it's safer to disable emission of SWITCH_* opcodes entirely.
* Prefix error_code with underscore in FastZPP implementationtwosee2019-01-081-25/+25
| | | | To avoid conflicts with parameter names.
* Fix self::class inside constant in global scopeNikita Popov2019-01-042-4/+25
| | | | | | | Previously this triggered an assertion failure. The behavior is not quite correct, in that self::class should generate an exception if there is no self, but returns an empty string here. Fixing that would be a bit too intrusive for the 7.2 branch.
* Partial fix for bug #75426Nikita Popov2019-01-022-0/+22
| | | | | | | | This does not print the exact line of the comma, but rather the line of the previous element. This should generally be "good enough", as the line number is close (off by one) to the actual issue now. Previously it would point to the start of the array, which may be very far away.
* Add memory check to the testAnatol Belski2018-12-291-0/+7
|
* Backport later interned strings destruction.Dmitry Stogov2018-12-241-4/+0
|
* Fixed bug #77339 (__callStatic may get incorrect arguments)Dmitry Stogov2018-12-242-0/+41
|
* Removed /e modifirer and fixed ws.Dmitry Stogov2018-12-211-1/+2
|
* Improve fix for #76046Nikita Popov2018-11-271-1/+4
| | | | | | Also locate the JMP at the start of the foreach. Patch suggested by Derick.
* Fixed bug #76046Nikita Popov2018-11-271-0/+1
| | | | | Place FE_FREE on start line of foreach, instead of whatever random line number might be in CG(zend_lineno) at the time.
* Merge branch 'PHP-7.1' into PHP-7.2Nikita Popov2018-11-202-2/+2
|\
| * Fix bug #71041 dynamic embed SAPI load errorValentin V. Bartenev2018-11-202-2/+2
| | | | | | | | | | | | | | | | If the library is built with ZEND_SIGNALS defined, it's unusable with an external SAPI module because the zend_signal_startup() call is mandatory in this case. This bug is similar to #74149, but related to dynamic loading of PHP library.
| * Sync leading and final newlines in *.phpt sectionsPeter Kokot2018-10-15367-478/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines in all *.phpt sections. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
| * Trim trailing whitespace in *.phptPeter Kokot2018-10-14569-967/+966
| |
| * Sync leading and final newlines in source code filesPeter Kokot2018-10-1414-17/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
| * Trim trailing whitespace in source code filesPeter Kokot2018-10-1329-160/+160
| |
| * Convert CRLF line endings to LFPeter Kokot2018-10-1314-383/+383
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch simplifies line endings tracked in the Git repository and syncs them to all include the LF style instead of the CRLF files. Newline characters: - LF (\n) (*nix and Mac) - CRLF (\r\n) (Windows) - CR (\r) (old Mac, obsolete) To see which line endings are in the index and in the working copy the following command can be used: `git ls-files --eol` Git additionally provides `.gitattributes` file to specify if some files need to have specific line endings on all platforms (either CRLF or LF). Changed files shouldn't cause issues on modern Windows platforms because also Git can do output conversion is core.autocrlf=true is set on Windows and use CRLF newlines in all files in the working tree. Unless CRLF files are tracked specifically, Git by default tracks all files in the index using LF newlines.
* | Sync leading and final newlines in *.phpt sectionsPeter Kokot2018-10-15384-497/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines in all *.phpt sections. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
* | Trim trailing whitespace in *.phptPeter Kokot2018-10-14575-991/+990
| |
* | Sync leading and final newlines in source code filesPeter Kokot2018-10-149-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
* | Trim trailing whitespace in source code filesPeter Kokot2018-10-1328-151/+151
| |
* | Merge branch 'PHP-7.1' into PHP-7.2Pierrick Charron2018-10-093-86/+136
|\ \ | |/
| * Fixed bug #76965 INI_SCANNER_RAW doesn't strip trailing whitespacePierrick Charron2018-10-093-86/+136
| |
* | Fixed bug #76936Nikita Popov2018-10-021-0/+6
| |
* | Merge branch 'PHP-7.1' into PHP-7.2Nikita Popov2018-09-282-0/+63
|\ \ | |/
| * Fixed bug #76946Nikita Popov2018-09-282-0/+63
| |
* | Merge branch 'PHP-7.1' into PHP-7.2Nikita Popov2018-09-281-2/+1
|\ \ | |/
| * Fix test for release buildsNikita Popov2018-09-281-2/+1
| |
* | Merge branch 'PHP-7.1' into PHP-7.2Nikita Popov2018-09-282-2/+31
|\ \ | |/
| * Fixed bug #76846Nikita Popov2018-09-282-2/+31
| |
* | Merge branch 'PHP-7.1' into PHP-7.2Nikita Popov2018-09-192-7/+22
|\ \ | |/