[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00857] Re: FDclone 3.00f has been released
- Subject: [FDclone-users:00857] Re: FDclone 3.00f has been released
- From: Takashi SHIRAI <shirai@unixusers.net>
- Date: Sat, 29 May 2010 20:24:09 +0900
しらいです。
In Message-Id <20100529142151.6fa6373c.shohta@seagreen.ocn.ne.jp>
Hironori (Shohta) NAGAKUBO <shohta@seagreen.ocn.ne.jp>さんwrites:
> Good **, 長久保@福島いわき です。
> 今度は「COPY_TREE/MOVE_TREE 中の」移動中に、多分日本語フォルダ箇所で
> 「異常終了」してしまいます。
ごめんなさい。コード効率化のためにいじった箇所で embug し
てしまったようです。余計なことはしないで、純粋に bug fix だ
けに留めておけば良かったかも知れません。
日本語文字列処理用に memchr() の wrapper 関数を用意してあ
るのですが、その肝腎の日本語を扱う際に文字数のカウントミスを
犯してしまっていました。
最後に修正 patch をつけておきますので、必要な方はご利用下
さい。
この影響範囲は広く、日本語を含む directory へのアクセスで
ことごとく異常終了する点のみならず、他にも日本語文字列処理で
buffer overflow を起こす可能性があります。
この wrapper 関数を使っている箇所は他にも幾つかありますが、
幸い、このパス名処理以外の箇所ではまず日本語を用いる場面がな
さそうなので、実用上の問題はないと思います。
しかし、ユーザが意図的にこの bug を突ついた場合は security
hole となり得るので、今回は早めに次期 release を行なう予定で
す。
> 当面前に戻して、次なるものを待ちたいと思います。
FD-3.00g での embug なので、FD-3.00e 以前では特に支障ない
と思われます。ご安心下さい。
---- Cut Here ---
diff -ur ../old/FD-3.00f/string.c ./string.c
--- ../old/FD-3.00f/string.c Sat May 29 00:00:00 2010
+++ ./string.c Sat May 29 19:52:52 2010
@@ -43,7 +43,10 @@
{
for (; n-- > 0; s++) {
if (*s == c) return((char *)s);
- else if (iswchar(s, 0)) s++;
+ else if (iswchar(s, 0)) {
+ if (n-- <= 0) break;
+ s++;
+ }
}
return(NULL);
---- Cut Here ---
しらい たかし