#
f303840a |
| 22-Sep-2024 |
Christoph M. Becker |
Prevent closing of unrelated handles If our `shmget()` fails for certain reasons, the segment handle is closed. However, the handle might be reused by Windows, and as such we must n
Prevent closing of unrelated handles If our `shmget()` fails for certain reasons, the segment handle is closed. However, the handle might be reused by Windows, and as such we must not close it again when shutting down the TSRM. Closes GH-15984.
show more ...
|
#
39a32665 |
| 28-Jun-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-14537: shmop Windows 11 crashes the process The error handling code isn't entirely right in two places. One of the code blocks is dead because of an always-false condition, and
Fix GH-14537: shmop Windows 11 crashes the process The error handling code isn't entirely right in two places. One of the code blocks is dead because of an always-false condition, and another code block is missing the assignment of a NULL pointer. Getting the exact same behaviour is not entirely possible because you can't extend the size of a shared memory region after it was made with the Windows APIs we use, unless we destroy the region and recreate it, but that has other consequences. However, it certainly shouldn't crash. Closes GH-14707.
show more ...
|
#
afbb28df |
| 07-Feb-2023 |
Max Kellermann |
ext/opcache/zend_jit: cast function to fix -Wincompatible-pointer-types (#10527) * ext/opcache/zend_jit: cast function to fix -Wincompatible-pointer-types Regression by commit a2119
ext/opcache/zend_jit: cast function to fix -Wincompatible-pointer-types (#10527) * ext/opcache/zend_jit: cast function to fix -Wincompatible-pointer-types Regression by commit a21195650e53e34266806a8c379dd5a91f0dbb61 * TSRM/win32: fix ts_allocate_dtor cast The dtor was casted to ts_allocate_ctor; luckily, ts_allocate_dtor and ts_allocate_ctor just happen to be the same type.
show more ...
|
#
4631e9de |
| 13-Dec-2022 |
Christoph M. Becker |
shmget() with IPC_CREAT must not create 0 size SHM The recently committed fix for GH-9944 did only indirectly cater to that, namely because in this case `CreateFileMapping()` with a zero
shmget() with IPC_CREAT must not create 0 size SHM The recently committed fix for GH-9944 did only indirectly cater to that, namely because in this case `CreateFileMapping()` with a zero size couldn't be created. As of PHP 8.2.0, the mappings of the actual SHM and the info segment have been merged, so creating a zero size SHM would be possible unless we explicitly prohibit this.
show more ...
|
#
7a983e28 |
| 15-Nov-2022 |
Tyson Andre |
Fix Windows shmget() wrt. IPC_PRIVATE Fixes #9944 https://man7.org/linux/man-pages/man2/shmget.2.html notes The name choice IPC_PRIVATE was perhaps unfortunate, IPC_NEW
Fix Windows shmget() wrt. IPC_PRIVATE Fixes #9944 https://man7.org/linux/man-pages/man2/shmget.2.html notes The name choice IPC_PRIVATE was perhaps unfortunate, IPC_NEW would more clearly show its function. Closes GH-9946.
show more ...
|
#
d1c9ff56 |
| 02-Nov-2022 |
Christoph M. Becker |
Fix potential NULL pointer dereference Windows shm*() functions `shm_get()` (not to be confused with `shmget()`) returns `NULL` if reallocation fails; we need to cater to that when calli
Fix potential NULL pointer dereference Windows shm*() functions `shm_get()` (not to be confused with `shmget()`) returns `NULL` if reallocation fails; we need to cater to that when calling the function. Closes GH-9872.
show more ...
|
#
1e3915c8 |
| 02-Nov-2022 |
Christoph M. Becker |
Fix GH-9829: Bug in refactoring Windows shmat() function `shm->addr` cannot be `NULL` here, so the whole check is completely pointless. Given that this is merely a clean-up and
Fix GH-9829: Bug in refactoring Windows shmat() function `shm->addr` cannot be `NULL` here, so the whole check is completely pointless. Given that this is merely a clean-up and not an actual bug fix, we do without a NEWS entry. Closes GH-9873.
show more ...
|
#
d7bdc040 |
| 27-May-2022 |
Christoph M. Becker |
Join shm_pair.info and .segment of Windows shm implementation There is not much point in having two distinct file mappings; since the info mapping is very small and of fixed size, we can
Join shm_pair.info and .segment of Windows shm implementation There is not much point in having two distinct file mappings; since the info mapping is very small and of fixed size, we can put it at the beginning of a single mapping. Besides the obvious resource savings, that also simplifies the error handling. Closes GH-8648.
show more ...
|
#
f3d24af7 |
| 02-Sep-2021 |
Christoph M. Becker |
Fix #81407: shmop_open won't attach and causes php to crash We need to allocate buffers for the file mapping names which are large enough for all potential keys (`key_t` is defined as `i
Fix #81407: shmop_open won't attach and causes php to crash We need to allocate buffers for the file mapping names which are large enough for all potential keys (`key_t` is defined as `int` on Windows). Regarding the test: it's probably never a good idea to use hard-coded keys (should always use `ftok()` instead), but to reliably reproduce this Windows specific issue we need to, and it shouldn't be an issue on that OS. Closes GH-7448.
show more ...
|
#
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 ...
|
#
462da6e0 |
| 31-Mar-2021 |
Josh Soref |
Fix spelling and grammar mistakes This PR corrects misspellings identified by the check-spelling action. The misspellings have been reported at jsoref@b6ba3e2#commitcomment-48946465
Fix spelling and grammar mistakes This PR corrects misspellings identified by the check-spelling action. The misspellings have been reported at jsoref@b6ba3e2#commitcomment-48946465 The action reports that the changes in this PR would make it happy: jsoref@602417c Closes GH-6822.
show more ...
|
#
88355dd3 |
| 07-Jun-2020 |
twosee |
Constify char * arguments of APIs Closes GH-5676.
|
#
5a04796f |
| 27-May-2020 |
Christoph M. Becker |
Fix MSVC level 1 (severe) warnings We fix (hopefully) all instances of: * <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4005>
Fix MSVC level 1 (severe) warnings We fix (hopefully) all instances of: * <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4005> * <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4024> * <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4028> * <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4047> * <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4087> * <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4090> * <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4273> * <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4312> `zend_llist_add_element()` and `zend_llist_prepend_element()` now explicitly expect a *const* pointer. We use the macro `ZEND_VOIDP()` instead of a `(void*)` cast to suppress C4090; this should prevent accidential removal of the cast by clarifying the intention, and makes it easier to remove the casts if the issue[1] will be resolved sometime. [1] <https://developercommunity.visualstudio.com/content/problem/390711/c-compiler-incorrect-propagation-of-const-qualifie.html>
show more ...
|
#
0e4c7b32 |
| 12-May-2020 |
George Peter Banyard |
utime is always available on Windows Therefore drop useless preprocessor if check Closes GH-5563
|
#
f33cf52f |
| 05-May-2020 |
Christoph M. Becker |
Fix #79566: Private SHM is not private on Windows We map the POSIX semantics of `IPC_PRIVATE` by creating unnamed file mapping objects on Windows. While that is not particularly useful
Fix #79566: Private SHM is not private on Windows We map the POSIX semantics of `IPC_PRIVATE` by creating unnamed file mapping objects on Windows. While that is not particularly useful for ext/shmop, which is the only bundled extension which uses `shmget()`, it may be useful for external extensions.
show more ...
|
#
9ca449e0 |
| 21-Jan-2020 |
Christoph M. Becker |
Make quoting of cmd execution functions consistent While the `$command` passed to `proc_open()` had to be wrapped in double-quotes manually, that was implicitly done for all other pr
Make quoting of cmd execution functions consistent While the `$command` passed to `proc_open()` had to be wrapped in double-quotes manually, that was implicitly done for all other program execution functions. This could easily introduce bugs and even security issues when switching from one to another program execution function. Furthermore we ensure that the additional quotes are always unwrapped regardless of what is passed as `$command` by passing the `/s` flag to cmd.exe. As it was, `shell_exec('path with spaces/program.exe')` did execute program.exe, but adding an argument (`shell_exec('path with spaces/program.exe -h)`) failed to execute program.exe, because cmd.exe stripped the additional quotes. While these changes obviously can cause BC breaks, we feel that in the long run the benefits of having consistent behavior for all program execution functions outweighs the drawbacks of potentially breaking some code now.
show more ...
|
Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0 |
|
#
18172303 |
| 25-Nov-2019 |
Christoph M. Becker |
Fix #78538: shmop memory leak If the descriptor's refcount drops to zero, we have to unmap the respective file view, to avoid leaking memory.
|
Revision tags: 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, 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 |
|
#
954543ce |
| 13-Jul-2019 |
Christoph M. Becker |
Fix #78282: atime and mtime mismatch The fix for bug #78241 assumed that `time_t` would always be 64bit, but actually is 32bit for x86. We therefore enforce 64bit arithmetic to avoi
Fix #78282: atime and mtime mismatch The fix for bug #78241 assumed that `time_t` would always be 64bit, but actually is 32bit for x86. We therefore enforce 64bit arithmetic to avoid wrapping. (cherry picked from commit bf242d58e77d50d4d8fdaaaca7ede686ec4467c0)
show more ...
|
#
bf242d58 |
| 13-Jul-2019 |
Christoph M. Becker |
Fix #78282: atime and mtime mismatch The fix for bug #78241 assumed that `time_t` would always be 64bit, but actually is 32bit for x86. We therefore enforce 64bit arithmetic to avoi
Fix #78282: atime and mtime mismatch The fix for bug #78241 assumed that `time_t` would always be 64bit, but actually is 32bit for x86. We therefore enforce 64bit arithmetic to avoid wrapping.
show more ...
|
Revision tags: php-7.4.0alpha3, php-7.3.7 |
|
#
44c8b741 |
| 03-Jul-2019 |
Christoph M. Becker |
Fix #78241: touch() does not handle dates after 2038 in PHP 64-bit `time_t` defaults to `_time64` (which is 64bit signed) even on x86, but `Int32x32To64()` truncates it to signed 32bit.
Fix #78241: touch() does not handle dates after 2038 in PHP 64-bit `time_t` defaults to `_time64` (which is 64bit signed) even on x86, but `Int32x32To64()` truncates it to signed 32bit. We replace the macro with the "manual" calculation.
show more ...
|
Revision tags: 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 |
|
#
8c7757c2 |
| 29-May-2019 |
Gabriel Caruso |
Remove unused variable
|
Revision tags: 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 |
|
#
914c1ec1 |
| 21-Feb-2019 |
Nikita Popov |
Stricter validation for popen mode argument on Windows Context: The ext/standard/tests/file/popen_pclose_error-win32.phpt test often fails under parallel testing, because the "is not rec
Stricter validation for popen mode argument on Windows Context: The ext/standard/tests/file/popen_pclose_error-win32.phpt test often fails under parallel testing, because the "is not recognized as an internal or external command" message doesn't actually have a guaranteed position in the output. While looking into this, I noticed that this test on Windows tests something very different (invalid comand) than on Linux (invalid mode). Here I'm adjusting the Windows popen implementation so it immediately fails on a `rw` mode, just like it does on Linux.
show more ...
|
Revision tags: php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2, php-7.2.15RC1 |
|
#
92ac598a |
| 22-Jan-2019 |
Peter Kokot |
Remove local variables This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly
Remove local variables This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly used by Vim and Emacs editors yet with recent changes the once working definitions don't work anymore in Vim without custom plugins or additional configuration. Neither are these settings synced across the PHP code base. A simpler and better approach is EditorConfig and fixing code using some code style fixing tools in the future instead. This patch also removes the so called modelines for Vim. Modelines allow Vim editor specifically to set some editor configuration such as syntax highlighting, indentation style and tab width to be set in the first line or the last 5 lines per file basis. Since the php test files have syntax highlighting already set in most editors properly and EditorConfig takes care of the indentation settings, this patch removes these as well for the Vim 6.0 and newer versions. With the removal of local variables for certain editors such as Emacs and Vim, the footer is also probably not needed anymore when creating extensions using ext_skel.php script. Additionally, Vim modelines for setting php syntax and some editor settings has been removed from some *.phpt files. All these are mostly not relevant for phpt files neither work properly in the middle of the file.
show more ...
|
#
0cf7de1c |
| 30-Jan-2019 |
Zeev Suraski |
Remove yearly range from copyright notice
|