#1313: #to_json will cause a stack overflow if generating a collection with objective-c objects ------------------------------------+--------------------------------------- Reporter: mrada@… | Owner: lsansonetti@… Type: defect | Status: new Priority: critical | Milestone: Component: MacRuby | Keywords: reduction 0.11-blocker ------------------------------------+--------------------------------------- Comment(by watson1978@…): Does it have problem if NSString#to_s would return a RubyString? {{{ #!diff diff --git a/NSString.m b/NSString.m index 99f47db..4333021 100644 --- a/NSString.m +++ b/NSString.m @@ -64,7 +64,14 @@ nsstr_dup(id rcv, SEL sel) static id nsstr_to_s(id rcv, SEL sel) { - return rcv; + id rstr = (id)str_new_from_cfstring((CFStringRef)rcv); + if (OBJ_TAINTED(rcv)) { + OBJ_TAINT(rstr); + } + if (![rcv respondsToSelector:@selector(setString:)]) { + OBJ_FREEZE(rstr); + } + return rstr; } static id }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/1313#comment:4> MacRuby <http://macruby.org/>