[mecab-users 258] Re: Windows版で強制終了される

Back to archive index

Taku Kudo taku****@chase*****
2007年 3月 20日 (火) 16:24:14 JST


工藤です

tokeinizer.cpp に以下の手動パッチをあてれば直ります。

典型的なバッファオーバーフローで Linux で問題が生じても
おかしくありません。

@@ -235,6 +235,11 @@
     const char *begin3 = begin2 + mblen;
     const char *group_begin3 = 0;

+    if (begin3 > end) {
+      ADDUNKNWON;
+      return resultNode;
+    }
+
     if (cinfo.group) {
       const char *tmp = begin3;
       CharInfo fail;

07/03/20 に Yukimune Takagi<g99dj****@gmail*****> さんは書きました:
> 高木です。
>
> さまざまなバージョンで同様の確認を行ってみました。
> 以下はその結果です。
> ※全てWindows版です。
>
> 0.93 NG
> 0.92 NG
> 0.91 NG
> 0.81 OK
> 0.80 OK
> 0.79 OK
>
> 以上、宜しくお願いいたします。
>
> 07/03/19 に Taku Kudo<taku****@chase*****> さんは書きました:
> > 工藤です
> >
> > ご報告大変ありがとうございます。
> >
> > 0,93 ではどうでしょうか?
> >
> > 手元の環境でも再現しました。
> > 原因もだいたいわかってきていますが、まだ時間がかかりそうです
> >
> > すいません。
> >
> > 07/03/15 に Yukimune Takagi<g99dj****@gmail*****> さんは書きました:
> > > 高木と申します。
> > >
> > > Windows版の0.94,0.95において、
> > > スペース6つを解析し、タブ1つを解析すると、強制終了させられます。
> > >
> > >       [enter]
> > > \t[enter]
> > >
> > > スペース、タブの数を増減させると、通るパターンもあります。
> > > Linux版0.94では正常に動作したのですが、Windows版では
> > > こういう"おかしな"入力は不可でしょうか?
> > >
> > > ----
> > > (ここは一般ユーザ向けMLなので恐縮ですが)
> > > ちなみに
> > > tagger->parseToNode("      ");
> > > tagger->parseToNode("\t");
> > > も同様に強制終了でした。
> > > ----
> > >
> > > 環境
> > > OS:Windows XP SP2 日本語版
> > >
> > > 以上、宜しくお願い致します。
> > > _______________________________________________
> > > mecab-users mailing list
> > > mecab****@lists*****
> > > http://lists.sourceforge.jp/mailman/listinfo/mecab-users
> > >
> >
>



mecab-users メーリングリストの案内
Back to archive index