Home » Releases » 8.4 » 8.4.25 »

PHP 8.4.25

Source Code

Change Log

  • core

    • Fixed bug GH-23088 (Stack overflow when comparing deeply nested arrays).
      Lazizbek Ergashev
  • date

    • Fixed leak on double DatePeriod::__construct() call.
      ilutov
  • dom

    • Fixed bug GH-23116 (Stack overflow when normalizing a deeply nested DOMDocument).
      Lazizbek Ergashev
    • Fixed bug GH-23117 (Stack overflow when normalizing a deeply nested Dom\XMLDocument).
      Lazizbek Ergashev
    • Fixed bug GH-22825 (DOMElement::setAttribute() fails silently when the DTD declares a default value for the attribute).
      iliaal
    • Fixed bug GH-22447 (UAF at dom_objects_free_storage when setting an attribute node that collides by local name with a namespaced attribute).
      David Carlier
    • Fixed bug GH-23120 (Stack overflow when comparing deeply nested DOM nodes with DOMNode::isEqualNode()).
      Weilin Du
  • libxml

    • Fixed bug GH-22752 (Build failure with libxml 2.15).
      David Carlier
  • mbstring

    • Fixed bug GH-22779 (mb_strrpos() returns the wrong position for a negative offset in a non-UTF-8 encoding).
      Eyüp Can Akman
    • Fixed bug GH-21036 (mb_ereg_search_getregs() crashes after mb_eregi() invalidates the regex cache).
      Matthias Goergens
  • opcache

    • Fixed bug GH-22857 (Function JIT emits wrong code for FETCH_OBJ_FUNC_ARG on a property hook getter, losing register-held variables).
      Zhao Hao
    • Fixed bug GH-22916 (Preserve parent regs in zend_jit_deoptimizer_start()).
      Arnaud
  • openssl

    • Fix missing error check on invalid alpn protocols.
      ndossche
  • pcre

    • Fixed bug GH-21134 (Crash with \C + UTF-8). Using \C in UTF-8 patterns is now forbidden.
      Arnaud
  • reflection

    • Fixed bug GH-22905 (Reflection exception messages truncate on null bytes).
      DanielEScherzer
    • Fixed ReflectionProperty::isLazy() and skipLazyInitialization() using the parent slot when a child class hooks an inherited property.
      iliaal
    • Fixed segfault in ReflectionMethod::createFromMethodName() on an uninstantiable subclass.
      iliaal
  • readline

    • Fixed class constant completion in the interactive shell.
      Weilin Du
  • zip

    • Fixed bug GH-17787 (ZipArchive stream stops reading early when the archive is freed while the stream is still open).
      Eyüp Can Akman
    • Fixed ZipArchive::addGlob() and ZipArchive::addPattern() ignoring their default options when no options array is given.
      David Carlier
  • session

    • Fix corruption in mod_mm.
      ndossche
    • Fixed bug GH-23043 (broken session id code can cause zend_mm_heap corrupted).
      ndossche
  • simplexml

    • Fixed integer element offsets that cannot resolve aliasing an existing element.
      iliaal
    • Fixed segfault when comparing uninitialized SimpleXMLElement instances.
      iliaal
  • sockets

    • Fixed various memory related issues in ext/sockets.
      David Carlier
  • sqlite

    • Fix leak when trying to close db if blob stream is still open.
      ndossche
  • standard

    • Fixed bug GH-23111 (Stack overflow in array_walk_recursive() with deeply nested arrays).
      Lazizbek Ergashev
    • Fixed bug GH-23113 (Stack overflow in array_replace_recursive() with deeply nested arrays).
      Lazizbek Ergashev
    • Fixed bug GH-23115 (Stack overflow in compact() with deeply nested arrays).
      Lazizbek Ergashev
    • Fixed stack overflow in count() with COUNT_RECURSIVE and deeply nested arrays.
      Lazizbek Ergashev
  • streams

    • Fixed bug GH-15836 (Use-after-free when a user stream filter accesses $this->stream during the close flush).
      iliaal
  • sysvshm

    • Fixed out-of-bounds write when shm_attach() opens an existing segment with a size larger than the segment actually is.
      David Carlier
  • xsl

    • Fixed use-after-free when a DOMDocument subclass __clone() retains the stylesheet copy made by XSLTProcessor::importStylesheet().
      iliaal

PHP 8.4


  Represents a security release