<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/regparse.c, branch v4.0.2</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Fix indents in Onigmo files to use spaces instead of tabs (#14047) [no ci]</title>
<updated>2025-07-31T04:08:54+00:00</updated>
<author>
<name>Hiroya Fujinami</name>
<email>make.just.on@gmail.com</email>
</author>
<published>2025-07-31T04:08:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=18f500e3475596c382b86f27a1461c8bf509ce1b'/>
<id>18f500e3475596c382b86f27a1461c8bf509ce1b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Prevent double free for too big repetition quantifiers (#13332)</title>
<updated>2025-05-16T01:14:26+00:00</updated>
<author>
<name>Hiroya Fujinami</name>
<email>make.just.on@gmail.com</email>
</author>
<published>2025-05-16T01:14:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=35000ac2ed3a1829f8d193ffb23da0e44cc6fe5f'/>
<id>35000ac2ed3a1829f8d193ffb23da0e44cc6fe5f</id>
<content type='text'>
Prevent double free for too big repetition quantifiers

The previous implementation calls `free(node)` twice (on parsing and compiling a
regexp) when it has an error, so it leads to a double-free issue. This
commit enforces `free(node)` once by introducing a temporal pointer to hold
parsing nodes.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prevent double free for too big repetition quantifiers

The previous implementation calls `free(node)` twice (on parsing and compiling a
regexp) when it has an error, so it leads to a double-free issue. This
commit enforces `free(node)` once by introducing a temporal pointer to hold
parsing nodes.</pre>
</div>
</content>
</entry>
<entry>
<title>Align styles [ci skip]</title>
<updated>2025-05-15T08:48:40+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-05-15T08:48:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2e3f81838c6bf6408c154eee840a231312666fcd'/>
<id>2e3f81838c6bf6408c154eee840a231312666fcd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Do not break within certain combinations with Indic_Conjunct_Break (InCB)=Linker.</title>
<updated>2025-03-18T12:18:12+00:00</updated>
<author>
<name>Mari Imaizumi</name>
<email>mariimaizumi5@gmail.com</email>
</author>
<published>2025-02-24T03:09:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6670926a91734ddb92d01ce4578b1bb48d26b7de'/>
<id>6670926a91734ddb92d01ce4578b1bb48d26b7de</id>
<content type='text'>
https://www.unicode.org/reports/tr29/tr29-43.html#GB9c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://www.unicode.org/reports/tr29/tr29-43.html#GB9c
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix case folding in single byte encoding</title>
<updated>2025-03-18T12:04:02+00:00</updated>
<author>
<name>Mari Imaizumi</name>
<email>mariimaizumi5@gmail.com</email>
</author>
<published>2025-03-09T06:22:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=75844889eb0169fab62da3063c9bcc950be0ae88'/>
<id>75844889eb0169fab62da3063c9bcc950be0ae88</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use mbuf instead of bitset for character class for small UTF.  Fixes #16145</title>
<updated>2025-02-28T03:34:38+00:00</updated>
<author>
<name>Maciej Rzasa</name>
<email>maciejrzasa@gmail.com</email>
</author>
<published>2025-02-20T23:42:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a50fbc56a30a0665102781019029e9cf9ddb3576'/>
<id>a50fbc56a30a0665102781019029e9cf9ddb3576</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>regparse possible memory leak fix proposal</title>
<updated>2024-09-26T07:34:22+00:00</updated>
<author>
<name>David Carlier</name>
<email>devnexen@gmail.com</email>
</author>
<published>2022-03-23T21:47:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8cd295ecf09e9419de0e3f3d4eecabfb430f9df1'/>
<id>8cd295ecf09e9419de0e3f3d4eecabfb430f9df1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove null checks for xfree</title>
<updated>2024-01-19T15:25:02+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2024-01-17T20:55:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d0b774cfb8ddf075c23d1b5ab1fc6f47123ccf65'/>
<id>d0b774cfb8ddf075c23d1b5ab1fc6f47123ccf65</id>
<content type='text'>
xfree can handle null values, so we don't need to check it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
xfree can handle null values, so we don't need to check it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove a unused variable in i_print_name_entry (#9468)</title>
<updated>2024-01-11T13:38:44+00:00</updated>
<author>
<name>Hiroya Fujinami</name>
<email>make.just.on@gmail.com</email>
</author>
<published>2024-01-11T13:38:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=80f1c1e2937939d95374aee7215a68cef9c7175a'/>
<id>80f1c1e2937939d95374aee7215a68cef9c7175a</id>
<content type='text'>
A warning for this is shown when `ONIG_DEBUG_COMPILE` is enabled.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A warning for this is shown when `ONIG_DEBUG_COMPILE` is enabled.</pre>
</div>
</content>
</entry>
<entry>
<title>Fix memory leak in regexp grapheme clusters</title>
<updated>2024-01-09T00:50:34+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2024-01-08T15:09:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=37ed86fd3c798e298fad9db6e7df1f3f45e1e03b'/>
<id>37ed86fd3c798e298fad9db6e7df1f3f45e1e03b</id>
<content type='text'>
[Bug #20161]

The cc-&gt;mbuf gets overwritten, so we need to free it to not leak memory.

For example:

    str = "hello world".encode(Encoding::UTF_32LE)

    10.times do
      1_000.times do
        str.grapheme_clusters
      end

      puts `ps -o rss= -p #{$$}`
    end

Before:

    15536
    15760
    15920
    16144
    16304
    16480
    16640
    16784
    17008
    17280

After:

    15584
    15584
    15760
    15824
    15888
    15888
    15888
    15888
    16048
    16112
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #20161]

The cc-&gt;mbuf gets overwritten, so we need to free it to not leak memory.

For example:

    str = "hello world".encode(Encoding::UTF_32LE)

    10.times do
      1_000.times do
        str.grapheme_clusters
      end

      puts `ps -o rss= -p #{$$}`
    end

Before:

    15536
    15760
    15920
    16144
    16304
    16480
    16640
    16784
    17008
    17280

After:

    15584
    15584
    15760
    15824
    15888
    15888
    15888
    15888
    16048
    16112
</pre>
</div>
</content>
</entry>
</feed>
