<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/ruby/test_io_buffer.rb, branch v3_4_9</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) f430fbbfacea5690d790dd9060ca4118431fc2fb, c353b625297162024b5a80480664e599dd49a294: [Backport #21787]</title>
<updated>2026-01-25T07:37:10+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T07:37:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=45100545b056792fb5701a93abd1f78259a6224e'/>
<id>45100545b056792fb5701a93abd1f78259a6224e</id>
<content type='text'>
	[PATCH] IO::Buffer: Fill the test for `IO::Buffer#clear`

	[PATCH] [Bug #21787] IO::Buffer: Check addition overflows

	https://hackerone.com/reports/3437743
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] IO::Buffer: Fill the test for `IO::Buffer#clear`

	[PATCH] [Bug #21787] IO::Buffer: Check addition overflows

	https://hackerone.com/reports/3437743
</pre>
</div>
</content>
</entry>
<entry>
<title>io_buffer.c: Allow copies between overlapping buffers with #copy and #set_string (#11640)</title>
<updated>2024-11-06T20:55:39+00:00</updated>
<author>
<name>Kasumi Hanazuki</name>
<email>kasumi@rollingapple.net</email>
</author>
<published>2024-11-06T20:55:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=35bf6603372360c7680653328274a670fa1d9f38'/>
<id>35bf6603372360c7680653328274a670fa1d9f38</id>
<content type='text'>
The current implementation of `IO::Buffer#copy` and `#set_string` has
an undefined behavior when the source and destination memory overlaps,
due to the underlying use of the `memcpy` C function.

This patch guarantees the methods to be safe even when copying between
overlapping buffers by replacing `memcpy` with `memmove`,

Fixes: [Bug #20745]</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current implementation of `IO::Buffer#copy` and `#set_string` has
an undefined behavior when the source and destination memory overlaps,
due to the underlying use of the `memcpy` C function.

This patch guarantees the methods to be safe even when copying between
overlapping buffers by replacing `memcpy` with `memmove`,

Fixes: [Bug #20745]</pre>
</div>
</content>
</entry>
<entry>
<title>Add `IO::Buffer` tests for read and write with length &amp; offset. (#11779)</title>
<updated>2024-10-03T12:29:16+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2024-10-03T12:29:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cd96af2cb88a0b98add14eacf0005a8bee505d5d'/>
<id>cd96af2cb88a0b98add14eacf0005a8bee505d5d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bug #20755] Frozen string should not be writable via IO::Buffer</title>
<updated>2024-10-01T09:46:35+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-09-30T13:49:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=35e124832e29b65c84d4e0e4e434616859f9bdf5'/>
<id>35e124832e29b65c84d4e0e4e434616859f9bdf5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bug #20752] Slice of readonly `IO::Buffer` also should be readonly</title>
<updated>2024-09-30T11:39:14+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-09-30T07:24:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=637067440f74043c6d79fc649ab8acf1afea25a5'/>
<id>637067440f74043c6d79fc649ab8acf1afea25a5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve behavioural consistency of unallocated (zero length) `IO::Buffer`. (#9532)</title>
<updated>2024-01-14T21:47:13+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2024-01-14T21:47:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c5cf4d4e129f64cb69aaf0a829aed068ef1943c4'/>
<id>c5cf4d4e129f64cb69aaf0a829aed068ef1943c4</id>
<content type='text'>
This makes the behaviour of IO::Buffer.new(0) and IO::Buffer.new.slice(0, 0) consistent.

Fixes https://bugs.ruby-lang.org/issues/19542 and https://bugs.ruby-lang.org/issues/18805.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes the behaviour of IO::Buffer.new(0) and IO::Buffer.new.slice(0, 0) consistent.

Fixes https://bugs.ruby-lang.org/issues/19542 and https://bugs.ruby-lang.org/issues/18805.</pre>
</div>
</content>
</entry>
<entry>
<title>Fix Window private file mapping unlink EACCES issue. (#9358)</title>
<updated>2023-12-26T11:36:56+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2023-12-26T11:36:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e5a4f757bdf5dc3d8c329ddd268432f9ecc7bff6'/>
<id>e5a4f757bdf5dc3d8c329ddd268432f9ecc7bff6</id>
<content type='text'>
* Don't return early.

* Add missing `mapping` assignment.

* Make debug logs conditional.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Don't return early.

* Add missing `mapping` assignment.

* Make debug logs conditional.</pre>
</div>
</content>
</entry>
<entry>
<title>Do not leave test file</title>
<updated>2023-12-25T04:01:55+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2023-12-25T02:13:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2cdbeb29e6e06d3492e2d4a388558ab883b07150'/>
<id>2cdbeb29e6e06d3492e2d4a388558ab883b07150</id>
<content type='text'>
Run this test separately because something seems remained unreleased
on Windows.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run this test separately because something seems remained unreleased
on Windows.
</pre>
</div>
</content>
</entry>
<entry>
<title>Correctly release the underlying file mapping. (#9340)</title>
<updated>2023-12-25T01:20:53+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2023-12-25T01:20:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=260bf60e52ffdfa625be1153624b0d123fc305f8'/>
<id>260bf60e52ffdfa625be1153624b0d123fc305f8</id>
<content type='text'>
* Avoiding using `Tempfile` which was retaining the file preventing it from unlinking.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Avoiding using `Tempfile` which was retaining the file preventing it from unlinking.</pre>
</div>
</content>
</entry>
<entry>
<title>IO::Buffer improvements and documentation. (#9329)</title>
<updated>2023-12-24T13:03:36+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2023-12-24T13:03:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=37753f163e461e157e6e224d9d3e5626427a50cc'/>
<id>37753f163e461e157e6e224d9d3e5626427a50cc</id>
<content type='text'>
* Restore experimental warnings.

* Documentation and code structure improvements.

* Improved validation of flags, clarified documentation of argument handling.

* Remove inconsistent use of `Example:` and add example to `null?`.

* Expose `IO::Buffer#private?` and add test.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Restore experimental warnings.

* Documentation and code structure improvements.

* Improved validation of flags, clarified documentation of argument handling.

* Remove inconsistent use of `Example:` and add example to `null?`.

* Expose `IO::Buffer#private?` and add test.</pre>
</div>
</content>
</entry>
</feed>
