summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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 newly introduced compiler warningNikita Popov2021-02-031-1/+1
| | | | (cherry picked from commit ab8177de2c89672e63a7a1ccef4df8f7bf34fbd2)
* 7.3.28 is nextChristoph M. Becker2021-02-024-7/+9
|
* Revert "Updated to version 2021.1 (2021a)"Christoph M. Becker2021-02-011-2559/+2360
| | | | | This reverts commit 491488d21707062fa8e9b9187db3585fb0d347da, since PHP-7.3 is in security mode, and this does not look security related.
* Fix bug #80672 - Null Dereference in SoapClientStanislav Malyshev2021-01-315-14/+40
|
* Rm unneeded functionStanislav Malyshev2021-01-271-16/+0
|
* Alternative fix for bug 77423Christoph M. Becker2021-01-268-28/+38
| | | | | | | | | | | That bug report originally was about `parse_url()` misbehaving, but the security aspect was actually only regarding `FILTER_VALIDATE_URL`. Since the changes to `parse_url_ex()` apparently affect userland code which is relying on the sloppy URL parsing[1], this alternative restores the old parsing behavior, but ensures that the userinfo is checked for correctness for `FILTER_VALIDATE_URL`. [1] <https://github.com/php/php-src/commit/5174de7cd33c3d4fa591c9c93859ff9989b07e8c#commitcomment-45967652>
* Updated to version 2021.1 (2021a)Derick Rethans2021-01-251-2360/+2559
|
* [ci skip] Fix orderStanislav Malyshev2021-01-041-2/+2
|
* [ci skip] Unpdate NEWSStanislav Malyshev2021-01-041-0/+2
|
* Merge branch 'PHP-7.2' into PHP-7.3Stanislav Malyshev2021-01-017-15/+61
|\ | | | | | | | | * PHP-7.2: Fix #77423: parse_url() will deliver a wrong host to user
| * Fix #77423: parse_url() will deliver a wrong host to userPHP-7.2Christoph M. Becker2021-01-017-14/+59
| | | | | | | | | | | | | | | | | | To avoid that `parse_url()` returns an erroneous host, which would be valid for `FILTER_VALIDATE_URL`, we make sure that only userinfo which is valid according to RFC 3986 is treated as such. For consistency with the existing url parsing code, we use ctype functions, although that is not necessarily correct.
* | 7.3.27 is nextChristoph M. Becker2020-12-154-6/+9
| |
* | Fix mysqli_expire_password test for mariadbDaniel Black2020-12-031-13/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In MariaDB-10.4.3 EXPIRE passwords where supported for MariaDB. This only behaves like MySQL when the system variable disconnect_on_expired_passwords=1. MariaDB if there was no password it could not be considered expired. So the test is adjusted to use actual passwords. (MariaDB commit a94b20a8e0d9e64eeaabdaaa7a3e03fcdb8a686e) The error codes produced my MariaDB are different however still conforming to the SQL specification. Closes GH-6480.
* | Fixed bug #80457Nikita Popov2020-12-022-1/+4
| | | | | | | | | | | | | | On x32 sizeof(size_t) != sizeof(zend_long), so we need to be careful with sign extension here. Patch by bruno dot premont at restena dot lu.
* | Fix test for bug62890 to not depend on system cert storeJakub Zelenka2020-11-271-1/+2
| |
* | Fix mysqli_get_client_stats testDaniel Black2020-11-271-20/+8
| | | | | | | | | | | | | | | | | | | | | | | | MySQL removed RENAME DATABASE in 18300001c1dbbfddf9a0adcbaeea68956102bdd0 (Sept 2007, 5.1.23). As this briefest existance is very insignificant lets remove it. It also breaks when testing against MariaDB. As the alternate path in this test covers all supported MySQL and MariaDB versions and a signifant portion of unsupported versions lets keep it simple. Closes GH-6459.
* | 7.3.26 is nextChristoph M. Becker2020-11-104-6/+9
| |
* | Fixed bug #80310: Support for icu4c 68.1.Alexander M. Turek2020-11-092-0/+6
| | | | | | | | | | | | | | On stable versions, bring back the TRUE/FALSE defines by defining _U_DEFINE_TRUE_AND_FALSE. Closes GH-6397.
* | Fix #80266: parse_url silently drops port number 0Christoph M. Becker2020-11-046-8/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of commit 81b2f3e[1], `parse_url()` accepts URLs with a zero port, but does not report that port, what is wrong in hindsight. Since the port number is stored as `unsigned short` there is no way to distinguish between port zero and no port. For BC reasons, we thus introduce `parse_url_ex2()` which accepts an output parameter that allows that distinction, and use the new function to fix the behavior. The introduction of `parse_url_ex2()` has been suggested by Nikita. [1] <http://git.php.net/?p=php-src.git;a=commit;h=81b2f3e5d9fcdffd87a4fcd12bd8c708a97091e1> Closes GH-6399.
* | Fix another implicit function declaration in configureNikita Popov2020-11-031-5/+1
| | | | | | | | | | As mentioned on bug #80171. This one is in libtool.m4, might get lost on libtool updates.
* | Fix #70461: disable md5 code when it is not supported in net-snmpChristoph M. Becker2020-11-022-1/+8
| | | | | | | | | | | | Patch contributed by Alexander Bergmann. Closes GH-6389.
* | Fix format specifierChristoph M. Becker2020-10-291-1/+1
| | | | | | | | In this function, `i` is of type `size_t`.
* | Fix #44618: Fetching may rely on uninitialized dataChristoph M. Becker2020-10-293-4/+87
| | | | | | | | | | | | | | | | | | Unless `SQLGetData()` returns `SQL_SUCCESS` or `SQL_SUCCESS_WITH_INFO`, the `StrLen_or_IndPtr` output argument is not guaranteed to be properly set. Thus we handle retrieval failure other than `SQL_ERROR` by yielding `false` for those column values and raising a warning. Closes GH-6281.
* | Deny cloning of fileinfo objectsNikita Popov2020-10-262-0/+28
| | | | | | | | Using a cloned finfo object will crash.
* | Revert "Fix out-of-bounds write"Christoph M. Becker2020-10-261-1/+1
| | | | | | | | | | | | | | | | | | | | This reverts commit bf6873a18e3b6b00f82a645c0893a281ae8eadb8. CVE-2020-26159 is bogus; the "bug" was apparently a false positive reported by Coverity, and the "fix" apparently wrong, see <https://github.com/kkos/oniguruma/issues/221>. Closes GH-6357.
* | Fix #80268: loadHTML() truncates at NUL bytesChristoph M. Becker2020-10-263-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | libxml2 has no particular issues parsing HTML strings with NUL bytes; these just cause truncation of the current text content, but parsing continues generally. Since `::loadHTMLFile()` already supports NUL bytes, `::loadHTML()` should as well. Note that this is different from XML, which does not allow any NUL bytes. Closes GH-6368.
* | Declare may_retry_reparse_point on windows onlyNikita Popov2020-10-261-1/+2
| |
* | Fix #62474: com_event_sink crashes on certain argumentsChristoph M. Becker2020-10-263-20/+41
| | | | | | | | | | | | | | We have to make sure that the variant is of type `VT_DISPATCH` before we access it as such. Closes GH-6372.
* | Fix #80258: Windows Deduplication Enabled, randon permission errorsChristoph M. Becker2020-10-262-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A recent bug fix regarding symlinks claimed: > After resolving reparse points, the path still may be a reparse > point; in that case we have to resolve that reparse point as well. While that is basically correct, some reparse points may point to inaccessible system folders (e.g. `IO_REPARSE_TAG_DEDUP` points to "\System Volume Information"). Since we don't know details about arbitrary reparse points, and are mainly interested in nested symlinks, we take a step back, and only resolve `IO_REPARSE_TAG_SYMLINK` for now. Close GH-6354.
* | Fix #80280: ADD_EXTENSION_DEP() fails for ext/standard and ext/dateChristoph M. Becker2020-10-263-1/+7
| | | | | | | | | | | | | | | | `ADD_EXTENSION_DEP()` relies on the `PHP_<extname>` config variables to be set to `"yes"`, and since the standard and date extension are always enabled, we define the respective variables uncoditionally. Closes GH-6383.
* | Fix bug 76618George Peter Banyard2020-10-222-1/+2
| | | | | | | | Apply patch which was attached to the bug in July 2018
* | Don't crash on uninitialized tidy objectNikita Popov2020-10-222-3/+39
| | | | | | | | | | | | "Uninitialized" here means that the object was created ordinarily -- no constructor skipping involved. Most tidy methods seem to handle this fine, but these three need to be guarded.
* | Updated to version 2020.4 (2020d)Derick Rethans2020-10-221-399/+400
| |
* | Fix #80242: imap_mail_compose() segfaults for multipart with rfc822Christoph M. Becker2020-10-203-9/+37
| | | | | | | | | | | | | | | | | | libc-client expects `TYPEMESSAGE` with an explicit subtype of `RFC822` to have a `nested.msg` (otherwise there will be a segfault during free), but not to have any `contents.text.data` (this will leak otherwise). Closes GH-6345.
* | Add char* cast to avoid compiler warningsChristoph M. Becker2020-10-201-1/+1
| | | | | | | | | | | | | | | | In libc-client 2007f `data` is declared as `unsigned char *`; there may be variants which declare it as `void *`, but in any case picky compilers may warn about a pointer type mismatch in the conditional (and error with `-W-error`), so we're adding a `char *` cast for good measure.
* | Properly fix #80220Christoph M. Becker2020-10-203-9/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original fix for that bug[1] broke the formerly working composition of message/rfc822 messages, which results in a segfault when freeing the message body now. While `imap_mail_compose()` does not really support composition of meaningful message/rfc822 messages (although libc-client appears to support that), some code may still use this to compose partial messages, and using string manipulation to create the final message. The point is that libc-client expects `TYPEMESSAGE` with an explicit subtype of `RFC822` to have a `nested.msg` (otherwise there will be a segfault during free), but not to have any `contents.text.data` (this will leak otherwise). [1] <http://git.php.net/?p=php-src.git;a=commit;h=0d022ddf03c5fabaaa22e486d1e4a367ed9170a7> Closes GH-6343.
* | Updated to version 2020.3 (2020c)Derick Rethans2020-10-191-3/+3
| |
* | Fix broken fix for #80239Christoph M. Becker2020-10-151-2/+2
| | | | | | | | No idea why that `git am` failed that badly.
* | Fix #80239: imap_rfc822_write_address() leaks memoryChristoph M. Becker2020-10-153-0/+14
| | | | | | | | We have to free the address when we're finished with it.
* | Fix leak in gmp_export()Nikita Popov2020-10-152-2/+6
| |
* | Fix #64076: imap_sort() does not return FALSE on failureChristoph M. Becker2020-10-133-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | If unsupported `$search_criteria` are passed to `imap_sort()`, the function returns an empty array, but there is also an error on the libc-client error stack ("Unknown search criterion: UNSUPPORTED (errflg=2)"). If, on the other hand, unsupported `$criteria` or unsupported `$flags` are passed, the function returns `false`. We solve this inconsistency by returning `false` for unsupported `$search_criteria` as well. Closes GH-6332.
* | 7.3.25 is nextChristoph M. Becker2020-10-134-6/+9
| |
* | Fix #80226: imap_sort() leaks sortpgm memoryChristoph M. Becker2020-10-123-0/+15
| | | | | | | | | | | | We need to free what we have allocated. Closes GH-6327.
* | Fix #80216: imap_mail_compose() does not validate types/encodingsChristoph M. Becker2020-10-123-9/+37
| | | | | | | | | | | | | | We need to check whether the given `type`s and `encoding`s are within bounds to avoid segfaults and out-of-bound reads. Closes GH-6323.
* | Fix #80223: imap_mail_compose() leaks envelope on malformed bodiesChristoph M. Becker2020-10-123-2/+21
| | | | | | | | | | | | We have to clean up even on failure. Closes GH-6322.
* | Fix #80220: imap_mail_compose() may leak memoryChristoph M. Becker2020-10-122-1/+2
| | | | | | | | | | | | | | | | | | Unless `topbod` is of `TYPEMULTIPART`, `mail_free_body()` does not free the `nested.part`; while we could do this ourselves, instead we just ignore additional bodies in this case, i.e. we don't attach them in the first place. Closes GH-6321.
* | Detect self-addition of array more accuratelyNikita Popov2020-10-122-1/+11
| | | | | | | | | | | | | | While the zvals may be different, they may still point to the same array. Fixes oss-fuzz #26245.
* | Deindirect source elements in zend_hash_mergeNikita Popov2020-10-122-13/+33
| | | | | | | | | | | | | | | | If the RHS has INDIRECT elements, we do not those to be added to the LHS verbatim. As we're using UPDATE_INDIRECT, we might even create a nested INDIRECT that way. This is a side-quest of oss-fuzz #26245.
* | Fixed test for bug #48097 due to confirmed data changes in timelibDerick Rethans2020-10-111-9/+7
| |