[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[port139ml:02730] バグ判明(Was: Re: syunlog version 0.4)
- To: port139ml@xxxxxxxxxxxxx
- Subject: [port139ml:02730] バグ判明(Was: Re: syunlog version 0.4)
- From: syun <syun@xxxxxxx>
- Date: Mon, 17 Mar 2003 18:02:27 +0900
--text follows this line--
syunです。
バグのある場所を見つけました。
# 超恥ずかしいバグでした。
松田さん > 具体的にはパケット受信後10秒ほどでコンソールが落ちました。
という話と、
りょうわさん > どうも IGMP v2 のパケットをキャプチャしたタイミング
りょうわさん > で落ちているようです。
という話から、再現実験を決意。
早速、客先の実験系に繋がっているFreeBSD マシンでfreevrrpd を動かして、
IGMP|ぱけっと!|を発生させてみました。
すると syunlog.exe 即死。
●原因
IPパケットのうち、TCP/UDP/ICMP 以外のパケットがくると、
プロトコル番号を表示しますが、そこの処理にバグがありました。
TCP/UDP/ICMP以外のIPパケットを拾うと、syunlogが死んでしまいます。
●対象
syunlog 0.2〜0.4
●コード
・バグコード
sprintf(message, "IP/%d: %s -> %s",
src_ip, dst_ip, ip_packet->ip_p);
・修正後
sprintf(message, "IP/%d: %s -> %s",
ip_packet->ip_p, src_ip, dst_ip);