http: avoid frozen string bug in filter_body
authorEric Wong <normalperson@yhbt.net>
Tue, 26 Feb 2013 02:52:37 +0000 (02:52 +0000)
committerEric Wong <normalperson@yhbt.net>
Tue, 26 Feb 2013 02:52:37 +0000 (02:52 +0000)
commitf7ee06592d7709e96f64efb5e7a9485b54415c9d
treee3398fbabadea22645141426ddb8be10e9e2e10e
parent3ef703179891fa3f6f9d03f2ae58d289c691738e
http: avoid frozen string bug in filter_body

Our rb_str_modify() became no-ops due to incomplete reverts
of workarounds for old Rubinius, causing rb_str_set_len to
fail with: can't set length of shared string (RuntimeError)

This bug was introduced due to improper workarounds for old
versions of Rubinius in 2009 and 2010:

commit 5e8979ad38efdc4de3a69cc53aea33710d478406
("http: cleanups for latest Rubinius")
commit f37c23704cb73d57e9e478295d1641df1d9104c7
("http: no-op rb_str_modify() for Rubies without it")
ext/unicorn_http/ext_help.h