[#41916] Proposal: Bitmap Marking GC — Narihiro Nakamura <authornari@...>

Hi.

18 messages 2012/01/05

[#41941] [ruby-trunk - Bug #5851][Open] make check fails when compiling with GCC 4.7 - *** longjmp causes uninitialized stack frame *** — Vit Ondruch <v.ondruch@...>

12 messages 2012/01/06

[#41979] [ruby-trunk - Bug #5865][Open] Exception#== should return false if the classes differ — Hiro Asari <asari.ruby@...>

10 messages 2012/01/08

[#42003] [ruby-trunk - Bug #5871][Open] regexp \W matches some word characters when inside a case-insensitive character class — Gareth Adams <gareth@...>

14 messages 2012/01/09

[#42016] [ruby-trunk - Feature #5873][Open] Adopt FFI over DL — Heesob Park <phasis@...>

15 messages 2012/01/10

[#42149] [ruby-trunk - Feature #5899][Open] chaining comparsions. — Ondrej Bilka <neleai@...>

12 messages 2012/01/16

[#42164] [ruby-trunk - Feature #5903][Open] Optimize st_table (take 2) — Yura Sokolov <funny.falcon@...>

18 messages 2012/01/17

[ruby-core:42167] Re: [ruby-trunk - Bug #5902] Array#join with an unused, infected separator may or may not infect the result

From: "Martin J. Dürst" <duerst@...>
Date: 2012-01-18 06:51:59 UTC
List: ruby-core #42167
Hi Matz,

On 2012/01/17 22:57, Yukihiro Matsumoto wrote:
>
> Issue #5902 has been updated by Yukihiro Matsumoto.
>
>
> In this case, tainted/untrusted string info is never used in the result.  Why should it be tainted?

As far as I understand, the case of

 >    s = [].join(",".taint.untrust)
 >    s.tainted? #=>  false
 >    s.untrusted? #=>  false

is fine, as you say. What's being called out as a bug is

 >    s = [1].join(",".taint.untrust)
 >    s.tainted? #=>  true
 >    s.untrusted? #=>  true

In this case, as in the above case, the tainted/untrusted "," isn't used 
at all, but still the resulting string is tainted and untrusted. That's 
what's called out as a potential bug. What do you think?

I have had a quick look at the code and will add a potential patch to 
the bug.

Regards,   Martin.

> Matz.
> ----------------------------------------
> Bug #5902: Array#join with an unused, infected separator may or may not infect the result
> https://bugs.ruby-lang.org/issues/5902
>
> Author: John Firebaugh
> Status: Assigned
> Priority: Normal
> Assignee: Yukihiro Matsumoto
> Category: core
> Target version:
> ruby -v: ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0]
>
>
> =begin
> It's infected if the separator is unused because there is only one element, but not if there are zero elements. Is this intended behavior?
>
>    s = [].join(",".taint.untrust)
>    s.tainted? #=>  false
>    s.untrusted? #=>  false
>
>    s = [1].join(",".taint.untrust)
>    s.tainted? #=>  true
>    s.untrusted? #=>  true
> =end
>
>
>

In This Thread