なぜかLinuxのx86版Monoだと下のコードの結果がおかしい・・・これが原因でCamelliaの復号部分のコードが正しく動いていない感じ。
楕円曲線暗号が動かない問題は謎・・・
stackallocした変数へのアクセスでなぜかNullReferenceExceptionが発生したり、IndexOutOfRangeExceptionが発生したりする。IndexOutOfRangeExceptionが発生しているんだから、境界をはみ出してアクセスしてるんじゃね?と思うかもしれませんが、stackallocの代わりに new uint[N] のように確保したら例外はおこらない。もちろんほかの部分は変更していない。
なら、stackalloc使わないで普通に配列確保すればいいじゃんって話ですが、何となく僕の方から折れるのはちょっと・・・ぇ
さすがにopenCrypto.NETのソースコードとテストケースと例外の内容をBugzillaにそのまま貼るのは、いざとなると気が引けてきたので、明日1日ぐらいかけて例外が再現する最小のコードを作るかな・・・ちなみに、上記のコードはCamelliaのコードにConsole.WriteLineを追加していって原因箇所を特定後、再現するような最小構成のコードとするまでに1時間ぐらいかかりました orz
僕ってVisualStudioのデバッガに頼りきりだからこういうときにどうすればいいのかよく分からない・・・だめだめだなぁ・・・
土日を利用して田植えのお手伝いへ。
天気も良いし、風も無かったので(夕方からは出てきたけど)、
作業は捗ったけど、体へのダメージが大変なことに。
普段、運動をしないので全身筋肉痛&日焼け・・・
しかも日焼けに至っては顔や首回りには日焼け止めを塗っていたんだけど、
耳に塗り忘れていたおかげで、水ぶくれが・・・orz
太陽こわいよー