[#29700] ruby NKF モジュールの CP932 系エンコーディングパッチ — MORIYAMA Masayuki <moriyama@...>

ミラクルリナックスの森山です。

10 messages 2006/10/27

[#29726] cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...>

MoonWolfです。

74 messages 2006/10/31
[#29728] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/01

まつもと ゆきひろです

[#29729] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/01

MoonWolfです。

[#29731] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/01

まつもと ゆきひろです

[#29745] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/02

MoonWolfです。

[#29751] Re: cgi.rbのDoS脆弱性について — "U.Nakamura" <usa@...> 2006/11/02

こんにちは、なかむら(う)です。

[#29753] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/03

MoonWolfです。

[#29754] Re: cgi.rbのDoS脆弱性について — "U.Nakamura" <usa@...> 2006/11/03

こんにちは、なかむら(う)です。

[#29756] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/03

MoonWolfです。

[#29759] Re: cgi.rbのDoS脆弱性について — "U.Nakamura" <usa@...> 2006/11/03

こんにちは、なかむら(う)です。

[#29780] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/04

MoonWolfです。

[#29784] Re: cgi.rbのDoS脆弱性について — "U.Nakamura" <usa@...> 2006/11/04

こんにちは、なかむら(う)です。

[#29786] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/04

MoonWolfです。

[#29791] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/04

まつもと ゆきひろです

[#29811] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/05

MoonWolfです。

[#29818] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/05

まつもと ゆきひろです

[#29826] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/05

MoonWolfです。

[#29761] Re: cgi.rbのDoS脆弱性について — 植田 裕之 <ueda@...> 2006/11/03

植田と申します。

[#29764] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/03

まつもと ゆきひろです

[ruby-dev:29675] Re: gsub で taint になる

From: "Nobuyoshi Nakada" <nobu@...>
Date: 2006-10-19 11:25:18 UTC
List: ruby-dev #29675
なかだです。

At Thu, 19 Oct 2006 18:28:19 +0900,
とみたまさひろ<tommy@tmtm.org> wrote in [ruby-dev:29674]:
> [ruby-core:09219] は 1.8.5 にはそのままでは適用できなかったので、見よ
> う見まねで次のように変更してみましたが、結果はかわりませんでした。

いまいち気に入らないんですが、こうかな。


Index: string.c
===================================================================
RCS file: /pub/cvs/ruby/string.c,v
retrieving revision 1.182.2.53
diff -U 2 -p -u -r1.182.2.53 string.c
--- string.c	7 Oct 2006 15:55:00 -0000	1.182.2.53
+++ string.c	19 Oct 2006 11:14:04 -0000
@@ -147,5 +147,4 @@ str_new3(klass, str)
     RSTRING(str2)->aux.shared = str;
     FL_SET(str2, ELTS_SHARED);
-    OBJ_INFECT(str2, str);

     return str2;
@@ -156,5 +155,8 @@ rb_str_new3(str)
     VALUE str;
 {
-    return str_new3(rb_obj_class(str), str);
+    VALUE str2 = str_new3(rb_obj_class(str), str);
+
+    OBJ_INFECT(str2, str);
+    return str2;
 }

@@ -190,5 +192,5 @@ rb_str_new4(orig)
 	long ofs;
 	ofs = RSTRING(str)->len - RSTRING(orig)->len;
-	if (ofs > 0) {
+	if ((ofs > 0) || (!OBJ_TAINTED(str) && OBJ_TAINTED(orig))) {
 	    str = str_new3(klass, str);
 	    RSTRING(str)->ptr += ofs;
@@ -611,5 +613,6 @@ rb_str_substr(str, beg, len)
     else if (len > sizeof(struct RString)/2 &&
 	beg + len == RSTRING(str)->len && !FL_TEST(str, STR_ASSOC)) {
-	str2 = rb_str_new3(rb_str_new4(str));
+	str2 = rb_str_new4(str);
+	str2 = str_new3(rb_obj_class(str2), str2);
 	RSTRING(str2)->ptr += RSTRING(str2)->len - len;
 	RSTRING(str2)->len = len;


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread