summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Prepare for 7.3.25php-7.3.25PHP-7.3.25Christoph M. Becker2020-11-244-5/+5
|
* Prepare 7.3.25RC1php-7.3.25RC1Christoph M. Becker2020-11-104-5/+5
|
* 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
|
* Fix #80215: imap_mail_compose() may modify by-val parametersChristoph M. Becker2020-10-103-1/+78
| | | | | | | | | We separate the input arrays and all sub-arrays to avoid modification of the passed parameters. This should be rewritten to use `zend_string`s for the "master" branch. Closes GH-6316.
* Fix #80213: imap_mail_compose() segfaults on certain $bodiesChristoph M. Becker2020-10-103-0/+28
| | | | | | | We have to cater to non-associative arrays where the key may be `NULL`; we just skip these elements. Closes GH-6315.
* Make iconv errno support test pass on Solaris.Petr Sumbera2020-10-091-1/+1
| | | | Closes GH-6291.
* XFAIL test broken by timelib updateNikita Popov2020-10-091-0/+2
| | | | | I was expecting this to get fixed quickly, but it didn't. XFAIL for now.
* Updated to version 2020.2 (2020b)Derick Rethans2020-10-081-853/+724
|
* Updated to version 2020.2 (2020b)Derick Rethans2020-10-081-1/+1
|
* Fix too strict imap test expectationsChristoph M. Becker2020-10-082-2/+2
|
* Fix #77040: tidyNode::isHtml() is completely brokenChristoph M. Becker2020-10-073-4/+37
| | | | | | | | | | | | | | | | The documentation of `tidyNode::isHtml()` states that this method "checks if a node is part of a HTML document". That is, of course, nonsense, since a tidyNode is "an HTML node in an HTML file, as detected by tidy." What this method is actually supposed to do is to check whether a node is an element (unless it is the root element). This has been broken by commit d8eeb8e[1], which assumed that `enum TidyNodeType` would represent flags of a bitmask, what it does not. [1] <http://git.php.net/?p=php-src.git;a=commit;h=d8eeb8e28673236bca3f066ded75037a5bdf6378> Closes GH-6290.
* Fix #80185: jdtounix() fails after 2037Christoph M. Becker2020-10-074-2/+41
| | | | | | | | There is no such thing as the "end of the unix epoch", and if it was, it would certainly not be 2037-10-11T02:00:00. There is, however, potential integer overflow which we need to avoid. Closes GH-6288.
* Fix #46050: odbc_next_result corrupts prepared resourceChristoph M. Becker2020-10-053-0/+29
| | | | When resetting the result's values, we also have to reset its numcols.
* Fix -Wimplicit-function-declaration in configureNikita Popov2020-10-055-40/+61
| | | | As this is an error with xcode 12, see bug #80171.
* Fix out-of-bounds writeK.Kosako2020-10-021-1/+1
| | | | | | Fixes CVE-2020-26159. Backported from <https://github.com/kkos/oniguruma/commit/cbe9f8bd9cfc6c3c87a60fbae58fa1a85db59df0>.
* [ci skip] moved soap fix to 7.3.23Matteo Beccati2020-10-021-5/+5
| | | | When committing I didn't notice that version had been just bumped
* Backport of a partial fix for bug Bug #76982 (memory leak declaring closure ↵Dmitry Stogov2020-10-013-19/+4
| | | | in included file).
* Merge branch 'PHP-7.2' into PHP-7.3Remi Collet2020-09-300-0/+0
|\ | | | | | | | | * PHP-7.2: bump version to 7.2.35-dev
| * bump version to 7.2.35-devRemi Collet2020-09-303-5/+8
| |