[#25976] tnono dumps core — nobu@...

なかだです。

16 messages 2005/04/02
[#25977] Re: tnono dumps core — Masaki Suketa <masaki.suketa@...> 2005/04/03

助田です。

[#25998] ruby 1.8.3 preview予定 — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

45 messages 2005/04/07
[#26011] bcc32、win32 での install-doc の動作 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/04/10

山本です。

[#26012] Re: bcc32、win32 での install-doc の動作 — nobu@... 2005/04/10

なかだです。

[#26013] Re: bcc32、win32 での install-doc の動作 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/04/11

山本です。

[#26014] Re: bcc32、win32 での install-doc の動作 — "U.Nakamura" <usa@...> 2005/04/11

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

[#26034] Re: bcc32、win32 での install-doc の動作 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/04/12

山本です。

[#26035] Re: bcc32、win32 での install-doc の動作 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/04/12

山本です。

[#26036] Re: bcc32、win32 での install-doc の動作 — "U.Nakamura" <usa@...> 2005/04/12

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

[#26040] Re: bcc32、win32 での install-doc の動作 — nobu@... 2005/04/13

なかだです。

[#26041] Re: bcc32、win32 での install-doc の動作 — "U.Nakamura" <usa@...> 2005/04/13

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

[#26042] Re: bcc32、win32 での install-doc の動作 — nobu@... 2005/04/13

なかだです。

[#26043] Re: bcc32、win32 での install-doc の動作 — "U.Nakamura" <usa@...> 2005/04/13

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

[#26045] Re: bcc32、win32 での install-doc の動作 — nobu@... 2005/04/13

なかだです。

[#26049] Re: bcc32、win32 での install-doc の動作 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/04/14

山本です。

[#26051] Re: bcc32、win32 での install-doc の動作 — nobu@... 2005/04/14

なかだです。

[#26059] Re: bcc32、win32 での install-doc の動作 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/04/14

山本です。

[#26060] Re: bcc32、win32 での install-doc の動作 — nobu@... 2005/04/15

なかだです。

[#26100] FileUtils.rm_rf security problem — Tanaka Akira <akr@...17n.org>

ふと、CVE で perl 関係のを見ていたら、File::Path の rmtree に関するも

21 messages 2005/04/26
[#26102] Re: FileUtils.rm_rf security problem — Tanaka Akira <akr@...17n.org> 2005/04/26

[#26190] Re: FileUtils.rm_rf security problem — Minero Aoki <aamine@...> 2005/05/20

青木です。

[#26191] Re: FileUtils.rm_rf security problem — Tanaka Akira <akr@...17n.org> 2005/05/20

In article <20050520171837N.aamine@loveruby.net>,

[#26192] Re: FileUtils.rm_rf security problem — Minero Aoki <aamine@...> 2005/05/20

青木です。

[#26197] Re: FileUtils.rm_rf security problem — Minero Aoki <aamine@...> 2005/05/21

青木です。

[ruby-dev:26008] Re: some trouble on ext/tk/sample

From: "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date: 2005-04-09 16:21:57 UTC
List: ruby-dev #26008
山本です。

>> まだ良く調べてないんですが、sample/tkextlib/treectrl/mailwasher.rb 
>> でカラムをクリックすると segfault するバグがありました。
>
>(;_;)(;_;)(;_;)(;_;)
>まだ問題が残っているのでしょうね.
>時間ができれば調べてみますが,私だけだと 1.8.3-preview1 には
>間に合わない可能性が極めて高いと思います.
>もし他にも情報がありましたら,教えていただけると助かります.

結論から言うと、tk::treectrl 側のバグでした。
私は http://sourceforge.net/projects/tktreectrl でダウンロードした
tktreectrl-1.1-1 を使っているのですが、この版でカラム数の不足した
項目を登録すると、下のように DictionaryCompare に NULL ポインタが
渡り、それをデリファレンスしようとして SEGV します。

Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 1300.0x440]
0x6ce250eb in DictionaryCompare (left=0x0, right=0x0)
    at generic/tkTreeItem.c:2163
2163            if (isdigit(UCHAR(*right))      /* INTL: digit */
(gdb) bt
#0  0x6ce250eb in DictionaryCompare (left=0x0, right=0x0)
    at generic/tkTreeItem.c:2163
#1  0x6ce2547d in CompareDict (sortData=0x2461370, a=0x95d8f00, b=0x2461250, 
    n=1) at generic/tkTreeItem.c:2269
#2  0x6ce2583a in CompareProc (sortData=0x2461370, a=0x95d8f00, b=0x2461250)
    at generic/tkTreeItem.c:2322
#3  0x6ce25ba2 in partition (sortData=0x2461370, left=0x95d8f00, 
    right=0x95d8f30, pivot=0x2461250) at generic/tkTreeItem.c:2410
#4  0x6ce25cfb in quicksort (sortData=0x2461370, left=0x95d8f00, 
    right=0x95d8f30) at generic/tkTreeItem.c:2464
#5  0x6ce25d24 in quicksort (sortData=0x2461370, left=0x95d8f00, 
    right=0x95d8f48) at generic/tkTreeItem.c:2468
#6  0x6ce25d46 in quicksort (sortData=0x2461370, left=0x95d8ed0, 
    right=0x95d8f48) at generic/tkTreeItem.c:2472
#7  0x6ce26e99 in ItemSortCmd (clientData=0x92a5e78, interp=0x2b85150, 
    objc=11, objv=0x95d8cd0) at generic/tkTreeItem.c:2799
#8  0x6ce2a3da in TreeItemCmd (clientData=0x92a5e78, interp=0x2b85150, 
    objc=11, objv=0x95d8cd0) at generic/tkTreeItem.c:3873
#9  0x6ce0b4f4 in TreeWidgetCmd (clientData=0x92a5e78, interp=0x2b85150, 
    objc=11, objv=0x95d8cd0) at generic/tkTreeCtrl.c:766

ビルドできなかったので確かめてませんが、HEAD ではすでに修正されているようです。

static int
CompareDict(SortData *sortData, struct SortItem *a, struct SortItem *b, int n)
{
    char *left  = a->item1[n].string;
    char *right = b->item1[n].string;

    /* make sure to handle case where no string value has been set */
    if (left == NULL) {
	return ((right == NULL) ? 0 : (0 - UCHAR(*right)));
    } else if (right == NULL) {
	return UCHAR(*left);
    } else {
	return DictionaryCompare(left, right);
    }
}

何で不足していたかというと、下のような理由でした。修正しておきます。

# lib/tkextlib/treectrl でこのバグに対処すべきかどうかはお任せします。

Index: mailwasher.rb
===================================================================
RCS file: /src/ruby/ext/tk/sample/tkextlib/treectrl/mailwasher.rb,v
retrieving revision 1.3
diff -u -w -b -p -r1.3 mailwasher.rb
--- mailwasher.rb	7 Apr 2005 14:55:55 -0000	1.3
+++ mailwasher.rb	9 Apr 2005 16:18:24 -0000
@@ -106,7 +106,7 @@ def demoMailWasher(t)
     ['whoami@spammer.com', "Find out what you think about yourself"],
     ['downsized@spammer.com', "You need a better job"], 
     ['poorhouse@spammer.com', "Your mortgage is a joke"], 
-    ['spam4ever@spammer.com' "You need more spam"]
+    ['spam4ever@spammer.com', "You need more spam"]
   ].each{|frm, subj|
     item = t.item_create
     status = ['styNormal','styPossSpam','styProbSpam','styBlacklist'][rand(4)]


In This Thread