ログインしていません。このフォーラムはログインユーザのみに投稿が許可されています。投稿する場合はログインしてください。
ダウンロード
Magazine
開発
アカウント
ダウンロード
Magazine
開発
ログイン
アカウント/パスワードを忘れた
アカウント作成
言語
ヘルプ
言語
ヘルプ
×
ログイン
ログイン名
パスワード
×
アカウント/パスワードを忘れた
日本語の翻訳状況
カテゴリ:
ソフトウェア
人物
PersonalForge
Magazine
Wiki
検索
OSDN
>
ソフトウェアを探す
>
システム
>
ネットワーク
>
CLX C++ Libraries
>
フォーラム
>
開発者
>
Endian 問題について
CLX C++ Libraries
概要
プロジェクト概要
開発ダッシュボード
Webページ
開発メンバー
画像ギャラリー
公開フィード一覧
活動
統計情報
活動履歴
ダウンロード
リリース一覧
統計
ソースコード
コードリポジトリリスト
Subversion
リポジトリ閲覧
チケット
チケット一覧
マイルストーン一覧
チケットの種類一覧
コンポーネント一覧
よく使われるチケット一覧のリスト/RSS
新規チケット登録
コミュニケーション
フォーラム一覧
ヘルプ (2)
公開討議 (19)
開発者 (24)
ニュース
フォーラム:
開発者
(スレッド #21891)
話題(スレッド)一覧に戻る
RSS
Endian 問題について (2009-03-03 12:07 by
cielquis
#42272)
チケットに引用
トラッカー::バグの「md5でバイトオーダーが考慮されていませんでした」への対応.
Endian (Big Endian/Little Endian) は実行時に判定する方向で修正する.現在のところ,Big Endian/Little Endian 以外 (PDP Endian, 他?) への対応は考えていない.
md5, sha1 は,中身では int の配列を用いて計算し,最後に char 配列にコピーする形で実装している.そのため,int 配列 <-> char 配列のコピー時に Endian 問題が絡んでくると思われる.そこで,std::memcpy() を行っている箇所で Endian の判定を行い,Big Endian の場合は Endian を考慮してコピーを行うようにする.
現在把握しているのは,md5/sha1 のみ.その他のライブラリに同様の問題が潜在しているかどうかは未検証.
RE: Endian 問題について (2009-03-15 04:57 by
cielquis
#42554)
チケットに引用
ひとまず修正は完了.ただし,未テストなので BigEndian の環境できちんと動作するかどうかの確証はなし.
#42272
への返信
RE: Endian 問題について (2009-03-23 00:43 by
cielquis
#42692)
チケットに引用
修正方法についてのメモ.
http://d.hatena.ne.jp/tt_clown/20090322/p1
#42272
への返信