Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mruby/mruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: mruby/mruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: stable
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 2 commits
  • 1 file changed
  • 2 contributors

Commits on May 29, 2026

  1. mruby-io: cap puts recursion depth to prevent C stack overflow

    io_puts_ary recursed unconditionally on nested arrays. For cyclic
    arrays (a = []; a << a; puts a) or pathologically deep arrays,
    this caused a C stack overflow.
    
    Add a depth cap (IO_PUTS_MAX_DEPTH = 16); on overflow, write
    "[...]\n" and return, matching CRuby's behavior on cycles. The
    pattern mirrors mruby-set's MAX_NESTED_DEPTH for the same problem
    shape (pure C recursion not dispatched as a Ruby method).
    
    Reported by OSS-Fuzz (clusterfuzz testcase 6233530857488384).
    
    Co-authored-by: Claude <[email protected]>
    (cherry picked from commit 7dfd560)
    2 people authored and rlitretfhfgh committed May 29, 2026
    Configuration menu
    Copy the full SHA
    3533335 View commit details
    Browse the repository at this point in the history

Commits on May 30, 2026

  1. Merge pull request #6876 from dkgkdfg65/backport/7dfd560d-stable

    [stable] backport: cap IO#puts recursion depth on cyclic arrays (mruby-io)
    matz authored May 30, 2026
    Configuration menu
    Copy the full SHA
    31ea493 View commit details
    Browse the repository at this point in the history
Loading