From: Motohiro KOSAKI Date: 2011-01-13T16:09:17+09:00 Subject: [ruby-core:34465] [Ruby 1.9-Bug#3869] Logger#log does not handle or escape new-line characters. --mimepart_4d2ea51d1a9c9_1f28b1e0cf26846 Content-Type: text/plain Content-Transfer-Encoding: Quoted-printable Content-Disposition: inline Issue #3869 has been updated by Motohiro KOSAKI. File 0001-logger-inject.patch added Category set to lib Attached patch escapes all control-characters and new-line. test case -------------------------------------------------------------------------= -- require "logger" inject_message =3D "Fault detected!\nI, [2010-09-23T12:28:09.612508 #6122= ] INFO -- : Fault was false-positive, igno\ ring ...".taint logger =3D Logger.new(STDOUT) logger.log Logger::INFO, inject_message # Let's untaint logger.log Logger::INFO, inject_message.untaint -------------------------------------------------------------------------= ---------- result -------------------------------------------------------------------------= ---------- I, [2011-01-13T16:43:03.226188 #28786] INFO -- : "Fault detected!\nI, [2= 010-09-23T12:28:09.612508 #6122] INFO -- : Fault was false-positive, ign= oring ..." I, [2011-01-13T16:43:03.226536 #28786] INFO -- : Fault detected! I, [2010-09-23T12:28:09.612508 #6122] INFO -- : Fault was false-positive= , ignoring ... -------------------------------------------------------------------------= ---------- Hal nahi-san, It this good enough? TODO: o performance concern o backward compatibility concern ---------------------------------------- http://redmine.ruby-lang.org/issues/show/3869 ---------------------------------------- http://redmine.ruby-lang.org --mimepart_4d2ea51d1a9c9_1f28b1e0cf26846 Content-Type: text/plain; name=0001-logger-inject.patch Content-Transfer-Encoding: Base64 Content-Disposition: attachment; filename=0001-logger-inject.patch RnJvbSBjNGQ5MmE1MmNmNGU3MmE0NDY5NDQwNTlmZTY0OTJjZDRkZDBhOGU4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLT1NBS0kgTW90b2hp cm8gPGtvc2FraS5tb3RvaGlyb0BnbWFpbC5jb20+CkRhdGU6IFRodSwgMTMg SmFuIDIwMTEgMTY6NDU6MDIgKzA5MDAKU3ViamVjdDogW1BBVENIXSBsb2dn ZXIgaW5qZWN0CgotLS0KIGxpYi9sb2dnZXIucmIgfCAgICAzICsrKwogMSBm aWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbGliL2xvZ2dlci5yYiBiL2xpYi9sb2dnZXIucmIK aW5kZXggNWMwMGZlMi4uN2JhOGRjZiAxMDA2NDQKLS0tIGEvbGliL2xvZ2dl ci5yYgorKysgYi9saWIvbG9nZ2VyLnJiCkBAIC0zMzUsNiArMzM1LDkgQEAg Y2xhc3MgTG9nZ2VyCiAgICAgICAgIHByb2duYW1lID0gQHByb2duYW1lCiAg ICAgICBlbmQKICAgICBlbmQKKyAgICBpZiBtZXNzYWdlLnRhaW50ZWQ/Cisg ICAgICBtZXNzYWdlID0gbWVzc2FnZS5kdW1wCisgICAgZW5kCiAgICAgQGxv Z2Rldi53cml0ZSgKICAgICAgIGZvcm1hdF9tZXNzYWdlKGZvcm1hdF9zZXZl cml0eShzZXZlcml0eSksIFRpbWUubm93LCBwcm9nbmFtZSwgbWVzc2FnZSkp CiAgICAgdHJ1ZQotLSAKMS43LjMuNAoK --mimepart_4d2ea51d1a9c9_1f28b1e0cf26846--