From: matz@... (Yukihiro Matsumoto) Date: 2003-10-15T13:04:16+09:00 Subject: [ruby-dev:21622] Re: Failure on test/digest/test_digest.rb まつもと ゆきひろです In message "[ruby-dev:21621] Failure on test/digest/test_digest.rb" on 03/10/15, "U.Nakamura" writes: |test/digest/test_digest.rbを実行すると、test_eqで失敗するこ |とがあることを(なかださんが)発見しました。 |追ってみたところ、MD5_EqualやSHA1_Equal内で、bufferをmemcmp |している部分で不一致と判定されていました。 | |bufferを初期化しないで使用していて、かつ、現在使用中の長さで |なくbuffer全体をmemcmpしてしまっているため、未使用のゴミ部分 |で不一致が発生してしまうことがあるようです。 | |ruby的には、添付の1行パッチ(なかださん製)で直っちゃいますが、 |md5.cやsha1.cなどの立場的には、個別の*_Init内でbufferを初期 |化してやるか、*_Equal内でちゃんと必要な長さのみ判定するよう |に修正すべきようにも思います。 | |どうしましょう? とりあえずパッチを当てるということで。ソースを斜めに読んだ限 りではbufferをどこまで使っているかという情報は管理してないみ たいだし。