タグ

2009年12月10日のブックマーク (2件)

  • instance_eval/class_evalの仕様変更 - Journal InTime(2009-12-10)

    _ instance_eval/class_evalの仕様変更 Ruby 1.9で変更されていた、instance_eval/class_evalのブロック内での定数・クラス変数の探索時の挙動を1.8の挙動に戻した(r25984)。 たとえば、class_evalの場合、レシーバが探索対象に含まれなくなったので注意してください。 1.9の新しい挙動の方が一貫性があってわかりやすいと思っていたが、メタプログラミングではレシーバに何が来るかわからないことが多く、定数名の衝突が問題になるため、Yehuda Katzの強い要望で結局元に戻すことになった。これで、Railsの1.9対応が加速するかも? また、ブロックパラメータについても、1.8同様にレシーバが渡されるようになった(r26062)。 ちなみに、Yehuda Katzがしきりに定数のスコープをlexicalと言っているが、厳密にはlex

  • Google Public DNS - どさにっき

    2009年12月1日(火) ■ freebsd local exploit _ なんかメールきた。セキュリティまわりのいつものアナウンスとはまったく違う形式なんだけど、もう exploit code が出回ってるのでちゃんとした SA は後回しにしてとりいそぎ パッチ出すよ、ということらしい。 _ んーと、修正内容を見ると、unsetenv(3) の返り値をチェックしていないため、危険な環境変数を除去しようとして失敗してもそのまま突っ走ってしまって LD_PRELOAD からコードを注入できてしまう、ということかな。よりにもよって ld-elf.so.1 の中だし。 _ ……え、返り値ってなにそれ? unsetenv() って void を返すんじゃないの? _ 調べてみると、どうやらちょっと前(freebsd は 6、glibc だと 2.2.2)までは void だったけど、最近では成

    yugui
    yugui 2009/12/10