Skip to content

Conversation

dktapps
Copy link
Owner

@dktapps dktapps commented Sep 15, 2025

No description provided.

iluuu1994 and others added 30 commits July 21, 2025 15:54
* PHP-8.1:
  Fix test conflict between chmod_variation2 and file_variation5
* PHP-8.2:
  Fix test conflict between chmod_variation2 and file_variation5
* PHP-8.3:
  Fix test conflict between chmod_variation2 and file_variation5
* PHP-8.3:
  Add missing cc clobber
With opcache, zend_string_init_interned() will allocate non-interned strings at
runtime because shm is locked. Hence, we need to make sure to actually free this
string.

Fixes OSS-Fuzz #433303828
Closes phpGH-19211
* PHP-8.3:
  Leak in failed unserialize() with opcache
Oops, darn copy & paste.
* PHP-8.3:
  [skip ci] Fix wrong oss-fuzz ID
13.3 gives a 404 now.
Also pulls in a 8.4 fix to include xxhash from the bundled location.

Closes phpGH-19213.
* PHP-8.1:
  Run FreebSD CI under 13.5
* PHP-8.2:
  Run FreebSD CI under 13.5
* PHP-8.3:
  Run FreebSD CI under 13.5
…ir prototype (php#19046)

* Fix phpGH-19044: Protected properties are not scoped according to their prototype

* Adjust after review

* Simplify to using prototype even for asymmetric visibility
* PHP-8.3:
  Coerce numeric string keys from iterators when argument unpacking
* PHP-8.3:
  NEWS for hrtime in FTP and standard
  Handle broken hrtime in ftp
  Fix arginfo/zpp violation if zend_hrtime is not available
We are adding extra (non-phpt) test suites in [1] and [2]. In order to
avoid touching CI files too often (which are maintained in 8.1 and merged in
upper branches), we add a single entry point to call the extra tests. The entry
point can be updated in branches without synchronizing all the way from 8.1.

CI files still need to be touched to install dependencies of these tests,
but this should be manageable as these do not change often and are the same
in every branch.

Closes phpGH-19242.

[1] php#16987
[2] php#18939
* PHP-8.1:
  Add unique entry point for extra tests
* PHP-8.2:
  Add unique entry point for extra tests
* PHP-8.3:
  Add unique entry point for extra tests
* PHP-8.3:
  Free opened_path when opened_path_len >= MAXPATHLEN
iluuu1994 and others added 29 commits September 11, 2025 14:59
* PHP-8.1:
  [skip ci] Add --enable-zend-max-execution-timers to variation nightly build
* PHP-8.2:
  [skip ci] Add --enable-zend-max-execution-timers to variation nightly build
* PHP-8.3:
  [skip ci] Add --enable-zend-max-execution-timers to variation nightly build
… exception are triggered

If an exception _and_ a warning (or deprecation) is emitted, then the
result is destroyed twice. Use an `else if` to prevent this.
This is tested via zend_test because the deprecation that triggered the
original reproducer may disappear in the future.

Closes phpGH-19793.
* PHP-8.3:
  Fix phpGH-19792: SCCP causes UAF for return value if both warning and exception are triggered
See phpGH-19701 for discussion.
This now restores the (correct) serialization output from versions
PHP 7.4.1 and below.

Closes phpGH-19762.
* PHP-8.3:
  Fix phpGH-19701: Serialize/deserialize loses some data
* PHP-8.3:
  curl: Fix cloning of POST fields (php#19813)
* PHP-8.3:
  [skip ci] Add missing name for phpGH-19813 in NEWS
* PHP-8.3:
  Fix phpGH-19784: SoapServer memory leak
* PHP-8.3:
  Fix curl build failure on macOS+curl 8.16
In the macOS 26 SDK, xmlFree is defined as a macro for free. This causes
issues where a same-named variable is used. Renaming the variable to
should_free resolves the issue.

See:

    $ grep -B4 -A2 -n "#define xmlFree(" "Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.sdk/usr/include/libxml/globals.h"
    261-#if defined(LIBXML_HAS_DEPRECATED_MEMORY_ALLOCATION_FUNCTIONS)
    262-#define xmlMalloc(size) malloc(size)
    263-#define xmlMallocAtomic(size) malloc(size)
    264-#define xmlRealloc(ptr, size) realloc((ptr), (size))
    265:#define xmlFree(ptr) free(ptr)
    266-#define xmlMemStrdup(str) strdup(str)
    267-#endif

Fixes:
```
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX26.sdk/usr/include/libxml/xmlIO.h:117,
                    from /Library/Developer/CommandLineTools/SDKs/MacOSX26.sdk/usr/include/libxml/parser.h:813,
                    from /private/tmp/php-20250914-13349-uqsk5o/php-8.4.12/ext/dom/php_dom.h:29,
                    from /private/tmp/php-20250914-13349-uqsk5o/php-8.4.12/ext/dom/attr.c:26:
    /private/tmp/php-20250914-13349-uqsk5o/php-8.4.12/ext/dom/attr.c: In function 'dom_compare_value':
    /private/tmp/php-20250914-13349-uqsk5o/php-8.4.12/ext/dom/attr.c:208:17: error: called object 'free' is not a function or function pointer
      208 |                 xmlFree(attr_value);
          |                 ^~~~~~~
    /private/tmp/php-20250914-13349-uqsk5o/php-8.4.12/ext/dom/attr.c:204:14: note: declared here
      204 |         bool free;
          |              ^~~~
    make: *** [ext/dom/attr.lo] Error 1
```

Closes phpGH-19832.

Signed-off-by: Ruoyu Zhong <[email protected]>
…losures can cause a crash

Due to user closures, the `fbc` address isn't unique if the memory address is reused.
We need to distinguish using a unique key, and we choose arg_info such
that it can be reused across different functions.

Closes phpGH-19654.
* PHP-8.3:
  Fix phpGH-19653: Closure named argument unpacking between temporary closures can cause a crash
@dktapps dktapps closed this Sep 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.