QDBM bug report
かなり今更ですが、久しぶりにHyper EstraierとQDBMを自分でビルドしたらうまく動作せず、結局 QDBM のバグだったので一応お知らせしておきます。
最初はsourceforgeにあるHyper EstraierのMLに投稿したのですが、unsubscribeしていたみたいでモデレータ送りになった為、こっちで公開することにしました。
ひとつめはハッシュの計算に符号付き整数を使い、それがオーバーフローしているというものです。 未定義動作になり、最適化のレベルで結果が違ったりするようです。
もう一つはdepo.c内のdpget
関数が実際とは異なるデータサイズを返す事があるというもので、確認しやすい例ではvilla.c内のvlopen
関数が失敗します。
1.8.78 からのパッチを公開しておきます。