* [ruby-core:119248] [Ruby master Bug#20752] IO::Buffer#slice fails to copy readonly flag, allowing writes into frozen String
@ 2024-09-18 9:38 hanazuki (Kasumi Hanazuki) via ruby-core
2024-09-18 10:00 ` [ruby-core:119249] " nobu (Nobuyoshi Nakada) via ruby-core
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: hanazuki (Kasumi Hanazuki) via ruby-core @ 2024-09-18 9:38 UTC (permalink / raw)
To: ruby-core; +Cc: hanazuki (Kasumi Hanazuki)
Issue #20752 has been reported by hanazuki (Kasumi Hanazuki).
----------------------------------------
Bug #20752: IO::Buffer#slice fails to copy readonly flag, allowing writes into frozen String
https://bugs.ruby-lang.org/issues/20752
* Author: hanazuki (Kasumi Hanazuki)
* Status: Open
* ruby -v: ruby 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
```irb
irb(main):001> RUBY_DESCRIPTION.frozen?
=> true
irb(main):002> IO::Buffer.for(RUBY_DESCRIPTION).set_string('perl', 0, 4)
(irb):2:in 'IO::Buffer#set_string': Buffer is not writable! (IO::Buffer::AccessError)
from (irb):2:in '<main>'
from <internal:kernel>:191:in 'Kernel#loop'
from -e:1:in '<main>'
irb(main):003> IO::Buffer.for(RUBY_DESCRIPTION).slice.set_string('perl', 0, 4)
=> 4
irb(main):004> RUBY_DESCRIPTION
=> "perl 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]"
```
```irb
irb(main):001> IO::Buffer.for(NameError.name).slice.set_string('X', 0, 1)
=> 1
irb(main):002> NameError
(irb):2:in '<main>': uninitialized constant NameError (XameError)
from <internal:kernel>:191:in 'Kernel#loop'
from -e:1:in '<main>'
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 7+ messages in thread
* [ruby-core:119249] [Ruby master Bug#20752] IO::Buffer#slice fails to copy readonly flag, allowing writes into frozen String
2024-09-18 9:38 [ruby-core:119248] [Ruby master Bug#20752] IO::Buffer#slice fails to copy readonly flag, allowing writes into frozen String hanazuki (Kasumi Hanazuki) via ruby-core
@ 2024-09-18 10:00 ` nobu (Nobuyoshi Nakada) via ruby-core
2024-09-30 5:20 ` [ruby-core:119347] [Ruby master Bug#20752] IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String) mame (Yusuke Endoh) via ruby-core
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: nobu (Nobuyoshi Nakada) via ruby-core @ 2024-09-18 10:00 UTC (permalink / raw)
To: ruby-core; +Cc: nobu (Nobuyoshi Nakada)
Issue #20752 has been updated by nobu (Nobuyoshi Nakada).
Backport changed from 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN to 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED
It results in bus errors with 3.1 and 3.2.
```
$ ruby3.2 -e 'IO::Buffer.for(RUBY_DESCRIPTION).slice.set_string("perl", 0, 4)'
-e:1: [BUG] Bus Error at 0x0000000100f08b18
ruby 3.2.5 (2024-07-26 revision 31d0f1a2e7) [arm64-darwin23]
```
```
$ ruby3.1 -e 'IO::Buffer.for(RUBY_DESCRIPTION).slice(0, 8).set_string("perl", 0, 4)'
-e:1: [BUG] Bus Error at 0x00000001039c7e38
ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [arm64-darwin23]
```
----------------------------------------
Bug #20752: IO::Buffer#slice fails to copy readonly flag, allowing writes into frozen String
https://bugs.ruby-lang.org/issues/20752#change-109830
* Author: hanazuki (Kasumi Hanazuki)
* Status: Open
* ruby -v: ruby 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]
* Backport: 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED
----------------------------------------
```irb
irb(main):001> RUBY_DESCRIPTION.frozen?
=> true
irb(main):002> IO::Buffer.for(RUBY_DESCRIPTION).set_string('perl', 0, 4)
(irb):2:in 'IO::Buffer#set_string': Buffer is not writable! (IO::Buffer::AccessError)
from (irb):2:in '<main>'
from <internal:kernel>:191:in 'Kernel#loop'
from -e:1:in '<main>'
irb(main):003> IO::Buffer.for(RUBY_DESCRIPTION).slice.set_string('perl', 0, 4)
=> 4
irb(main):004> RUBY_DESCRIPTION
=> "perl 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]"
```
```irb
irb(main):001> IO::Buffer.for(NameError.name).slice.set_string('X', 0, 1)
=> 1
irb(main):002> NameError
(irb):2:in '<main>': uninitialized constant NameError (XameError)
from <internal:kernel>:191:in 'Kernel#loop'
from -e:1:in '<main>'
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 7+ messages in thread
* [ruby-core:119347] [Ruby master Bug#20752] IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
2024-09-18 9:38 [ruby-core:119248] [Ruby master Bug#20752] IO::Buffer#slice fails to copy readonly flag, allowing writes into frozen String hanazuki (Kasumi Hanazuki) via ruby-core
2024-09-18 10:00 ` [ruby-core:119249] " nobu (Nobuyoshi Nakada) via ruby-core
@ 2024-09-30 5:20 ` mame (Yusuke Endoh) via ruby-core
2024-09-30 12:00 ` [ruby-core:119358] " ioquatix (Samuel Williams) via ruby-core
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: mame (Yusuke Endoh) via ruby-core @ 2024-09-30 5:20 UTC (permalink / raw)
To: ruby-core; +Cc: mame (Yusuke Endoh)
Issue #20752 has been updated by mame (Yusuke Endoh).
Assignee set to ioquatix (Samuel Williams)
----------------------------------------
Bug #20752: IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
https://bugs.ruby-lang.org/issues/20752#change-109959
* Author: hanazuki (Kasumi Hanazuki)
* Status: Open
* Assignee: ioquatix (Samuel Williams)
* ruby -v: ruby 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]
* Backport: 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED
----------------------------------------
```irb
irb(main):001> RUBY_DESCRIPTION.frozen?
=> true
irb(main):002> IO::Buffer.for(RUBY_DESCRIPTION).set_string('perl', 0, 4)
(irb):2:in 'IO::Buffer#set_string': Buffer is not writable! (IO::Buffer::AccessError)
from (irb):2:in '<main>'
from <internal:kernel>:191:in 'Kernel#loop'
from -e:1:in '<main>'
irb(main):003> IO::Buffer.for(RUBY_DESCRIPTION).slice.set_string('perl', 0, 4)
=> 4
irb(main):004> RUBY_DESCRIPTION
=> "perl 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]"
```
```irb
irb(main):001> IO::Buffer.for(NameError.name).slice.set_string('X', 0, 1)
=> 1
irb(main):002> NameError
(irb):2:in '<main>': uninitialized constant NameError (XameError)
from <internal:kernel>:191:in 'Kernel#loop'
from -e:1:in '<main>'
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 7+ messages in thread
* [ruby-core:119358] [Ruby master Bug#20752] IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
2024-09-18 9:38 [ruby-core:119248] [Ruby master Bug#20752] IO::Buffer#slice fails to copy readonly flag, allowing writes into frozen String hanazuki (Kasumi Hanazuki) via ruby-core
2024-09-18 10:00 ` [ruby-core:119249] " nobu (Nobuyoshi Nakada) via ruby-core
2024-09-30 5:20 ` [ruby-core:119347] [Ruby master Bug#20752] IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String) mame (Yusuke Endoh) via ruby-core
@ 2024-09-30 12:00 ` ioquatix (Samuel Williams) via ruby-core
2024-09-30 12:07 ` [ruby-core:119359] " ioquatix (Samuel Williams) via ruby-core
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: ioquatix (Samuel Williams) via ruby-core @ 2024-09-30 12:00 UTC (permalink / raw)
To: ruby-core; +Cc: ioquatix (Samuel Williams)
Issue #20752 has been updated by ioquatix (Samuel Williams).
The second example `XameError` is hilarious, what a great bug. Yes, this should be fixed.
----------------------------------------
Bug #20752: IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
https://bugs.ruby-lang.org/issues/20752#change-109970
* Author: hanazuki (Kasumi Hanazuki)
* Status: Open
* Assignee: ioquatix (Samuel Williams)
* ruby -v: ruby 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]
* Backport: 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED
----------------------------------------
```irb
irb(main):001> RUBY_DESCRIPTION.frozen?
=> true
irb(main):002> IO::Buffer.for(RUBY_DESCRIPTION).set_string('perl', 0, 4)
(irb):2:in 'IO::Buffer#set_string': Buffer is not writable! (IO::Buffer::AccessError)
from (irb):2:in '<main>'
from <internal:kernel>:191:in 'Kernel#loop'
from -e:1:in '<main>'
irb(main):003> IO::Buffer.for(RUBY_DESCRIPTION).slice.set_string('perl', 0, 4)
=> 4
irb(main):004> RUBY_DESCRIPTION
=> "perl 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]"
```
```irb
irb(main):001> IO::Buffer.for(NameError.name).slice.set_string('X', 0, 1)
=> 1
irb(main):002> NameError
(irb):2:in '<main>': uninitialized constant NameError (XameError)
from <internal:kernel>:191:in 'Kernel#loop'
from -e:1:in '<main>'
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 7+ messages in thread
* [ruby-core:119359] [Ruby master Bug#20752] IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
2024-09-18 9:38 [ruby-core:119248] [Ruby master Bug#20752] IO::Buffer#slice fails to copy readonly flag, allowing writes into frozen String hanazuki (Kasumi Hanazuki) via ruby-core
` (2 preceding siblings ...)
2024-09-30 12:00 ` [ruby-core:119358] " ioquatix (Samuel Williams) via ruby-core
@ 2024-09-30 12:07 ` ioquatix (Samuel Williams) via ruby-core
2024-10-21 8:50 ` [ruby-core:119543] " nagachika (Tomoyuki Chikanaga) via ruby-core
2024-11-04 22:38 ` [ruby-core:119710] " k0kubun (Takashi Kokubun) via ruby-core
5 siblings, 0 replies; 7+ messages in thread
From: ioquatix (Samuel Williams) via ruby-core @ 2024-09-30 12:07 UTC (permalink / raw)
To: ruby-core; +Cc: ioquatix (Samuel Williams)
Issue #20752 has been updated by ioquatix (Samuel Williams).
Looks like @nobu already made a PR here: https://github.com/ruby/ruby/pull/11735
----------------------------------------
Bug #20752: IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
https://bugs.ruby-lang.org/issues/20752#change-109971
* Author: hanazuki (Kasumi Hanazuki)
* Status: Open
* Assignee: ioquatix (Samuel Williams)
* ruby -v: ruby 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]
* Backport: 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED
----------------------------------------
```irb
irb(main):001> RUBY_DESCRIPTION.frozen?
=> true
irb(main):002> IO::Buffer.for(RUBY_DESCRIPTION).set_string('perl', 0, 4)
(irb):2:in 'IO::Buffer#set_string': Buffer is not writable! (IO::Buffer::AccessError)
from (irb):2:in '<main>'
from <internal:kernel>:191:in 'Kernel#loop'
from -e:1:in '<main>'
irb(main):003> IO::Buffer.for(RUBY_DESCRIPTION).slice.set_string('perl', 0, 4)
=> 4
irb(main):004> RUBY_DESCRIPTION
=> "perl 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]"
```
```irb
irb(main):001> IO::Buffer.for(NameError.name).slice.set_string('X', 0, 1)
=> 1
irb(main):002> NameError
(irb):2:in '<main>': uninitialized constant NameError (XameError)
from <internal:kernel>:191:in 'Kernel#loop'
from -e:1:in '<main>'
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 7+ messages in thread
* [ruby-core:119543] [Ruby master Bug#20752] IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
2024-09-18 9:38 [ruby-core:119248] [Ruby master Bug#20752] IO::Buffer#slice fails to copy readonly flag, allowing writes into frozen String hanazuki (Kasumi Hanazuki) via ruby-core
` (3 preceding siblings ...)
2024-09-30 12:07 ` [ruby-core:119359] " ioquatix (Samuel Williams) via ruby-core
@ 2024-10-21 8:50 ` nagachika (Tomoyuki Chikanaga) via ruby-core
2024-11-04 22:38 ` [ruby-core:119710] " k0kubun (Takashi Kokubun) via ruby-core
5 siblings, 0 replies; 7+ messages in thread
From: nagachika (Tomoyuki Chikanaga) via ruby-core @ 2024-10-21 8:50 UTC (permalink / raw)
To: ruby-core; +Cc: nagachika (Tomoyuki Chikanaga)
Issue #20752 has been updated by nagachika (Tomoyuki Chikanaga).
Backport changed from 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED to 3.1: REQUIRED, 3.2: DONE, 3.3: REQUIRED
ruby_3_2 commit:5777fe5ab57d6479326bdb21ef9a6b88ea1516dc merged revision(s) commit:637067440f74043c6d79fc649ab8acf1afea25a5.
----------------------------------------
Bug #20752: IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
https://bugs.ruby-lang.org/issues/20752#change-110159
* Author: hanazuki (Kasumi Hanazuki)
* Status: Closed
* Assignee: ioquatix (Samuel Williams)
* ruby -v: ruby 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]
* Backport: 3.1: REQUIRED, 3.2: DONE, 3.3: REQUIRED
----------------------------------------
```irb
irb(main):001> RUBY_DESCRIPTION.frozen?
=> true
irb(main):002> IO::Buffer.for(RUBY_DESCRIPTION).set_string('perl', 0, 4)
(irb):2:in 'IO::Buffer#set_string': Buffer is not writable! (IO::Buffer::AccessError)
from (irb):2:in '<main>'
from <internal:kernel>:191:in 'Kernel#loop'
from -e:1:in '<main>'
irb(main):003> IO::Buffer.for(RUBY_DESCRIPTION).slice.set_string('perl', 0, 4)
=> 4
irb(main):004> RUBY_DESCRIPTION
=> "perl 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]"
```
```irb
irb(main):001> IO::Buffer.for(NameError.name).slice.set_string('X', 0, 1)
=> 1
irb(main):002> NameError
(irb):2:in '<main>': uninitialized constant NameError (XameError)
from <internal:kernel>:191:in 'Kernel#loop'
from -e:1:in '<main>'
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 7+ messages in thread
* [ruby-core:119710] [Ruby master Bug#20752] IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
2024-09-18 9:38 [ruby-core:119248] [Ruby master Bug#20752] IO::Buffer#slice fails to copy readonly flag, allowing writes into frozen String hanazuki (Kasumi Hanazuki) via ruby-core
` (4 preceding siblings ...)
2024-10-21 8:50 ` [ruby-core:119543] " nagachika (Tomoyuki Chikanaga) via ruby-core
@ 2024-11-04 22:38 ` k0kubun (Takashi Kokubun) via ruby-core
5 siblings, 0 replies; 7+ messages in thread
From: k0kubun (Takashi Kokubun) via ruby-core @ 2024-11-04 22:38 UTC (permalink / raw)
To: ruby-core; +Cc: k0kubun (Takashi Kokubun)
Issue #20752 has been updated by k0kubun (Takashi Kokubun).
Backport changed from 3.1: REQUIRED, 3.2: DONE, 3.3: REQUIRED to 3.1: REQUIRED, 3.2: DONE, 3.3: DONE
ruby_3_3 commit:12ea98e8c8af0ed6778aad26e7ec5f95e2c239e5 merged revision(s) commit:637067440f74043c6d79fc649ab8acf1afea25a5.
----------------------------------------
Bug #20752: IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
https://bugs.ruby-lang.org/issues/20752#change-110374
* Author: hanazuki (Kasumi Hanazuki)
* Status: Closed
* Assignee: ioquatix (Samuel Williams)
* ruby -v: ruby 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]
* Backport: 3.1: REQUIRED, 3.2: DONE, 3.3: DONE
----------------------------------------
```irb
irb(main):001> RUBY_DESCRIPTION.frozen?
=> true
irb(main):002> IO::Buffer.for(RUBY_DESCRIPTION).set_string('perl', 0, 4)
(irb):2:in 'IO::Buffer#set_string': Buffer is not writable! (IO::Buffer::AccessError)
from (irb):2:in '<main>'
from <internal:kernel>:191:in 'Kernel#loop'
from -e:1:in '<main>'
irb(main):003> IO::Buffer.for(RUBY_DESCRIPTION).slice.set_string('perl', 0, 4)
=> 4
irb(main):004> RUBY_DESCRIPTION
=> "perl 3.4.0dev (2024-09-18T02:16:22Z master 4797b0704a) +PRISM [x86_64-linux]"
```
```irb
irb(main):001> IO::Buffer.for(NameError.name).slice.set_string('X', 0, 1)
=> 1
irb(main):002> NameError
(irb):2:in '<main>': uninitialized constant NameError (XameError)
from <internal:kernel>:191:in 'Kernel#loop'
from -e:1:in '<main>'
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-11-04 22:39 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-09-18 9:38 [ruby-core:119248] [Ruby master Bug#20752] IO::Buffer#slice fails to copy readonly flag, allowing writes into frozen String hanazuki (Kasumi Hanazuki) via ruby-core
2024-09-18 10:00 ` [ruby-core:119249] " nobu (Nobuyoshi Nakada) via ruby-core
2024-09-30 5:20 ` [ruby-core:119347] [Ruby master Bug#20752] IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String) mame (Yusuke Endoh) via ruby-core
2024-09-30 12:00 ` [ruby-core:119358] " ioquatix (Samuel Williams) via ruby-core
2024-09-30 12:07 ` [ruby-core:119359] " ioquatix (Samuel Williams) via ruby-core
2024-10-21 8:50 ` [ruby-core:119543] " nagachika (Tomoyuki Chikanaga) via ruby-core
2024-11-04 22:38 ` [ruby-core:119710] " k0kubun (Takashi Kokubun) via ruby-core
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).