« アンリンク | メイン | in other words »

make sure

リンク: sccc: 第4章に関する話題.

unlink の所ですが、 The malicious argument, of course, makes sure that the location where dlmalloc finds the PREV_INUSE bit is clear, tricking dlmalloc into believing the second chunk is unallocated--so the free() operation invokes the unlink() macro to consolidate the two chunks. の訳が、内容がわかってないのに訳しているような訳になっています。

-4 と書くことで、3番目のブロックではなく、2番目、すなわち自分自身を読み込ませるところがポイントです。
-4 ずれているので、先頭4バイトがサイズになります。
これを「偶数」にしておけば、IN_USE ビットが落ちていることになり、2番目のブロックがフリーだと騙せるわけです。

図4-14 に「even」と書いてあるのは、そういう意味です。ここも「偶数」と訳す方が親切でしょう。

なので、「確認する」という訳は誤りです。

「dlmalloc が IN_USE ビットが落ちていると思い込ませ」ぐらいでしょうね。

make sure には『手段を講じる』という意味もあるようだけど、そんな使い方ですかね。

「もちろん」がちょっと浮いちゃってるな。

トラックバック

このページのトラックバックURL:
http://www.typepad.jp/t/trackback/6560457

このページへのトラックバック一覧 make sure:

コメント

コメントを投稿