新生鳩丸掲示板♯

bakera.jp > 新生鳩丸掲示板♯ > [3509] Re: 「情報処理試験でNUL文字攻撃の問題など」

記事個別表示 (3509)

[3509] Re: 「情報処理試験でNUL文字攻撃の問題など」

PANDA (2006年4月20日 20時36分)

> Perl の open は NUL を含むファイル名を渡されると NUL 以降を無視します。

Perl の open が NUL 以降を無視するのですか?

私は、OSの API の仕様として「パス名は NUL で終端する(から NUL 以降の部分は無視される)」ようになっているだけで、 Perl に限った話では無いと思います。

パス名として NUL 文字を含めることができるプログラミング言語というのもOSというのも聞いたことがありません。

(Perl のソースを見た訳では無いですが)Perl は単にOSの API を呼び出すために文字列の末尾に NUL を付加しているだけであって、 Perl が NUL 以降を無視しているのではないと思います。

print length("abc\x00def"); の結果は 7 ですから、Perl は NUL 以降を無視していないようです。

で、問題冊子末尾の解説を読んでも「Perl の open 関数における NUL の扱い方」についての説明が無いので解答方法に窮しました。

NUL 文字のことなんだろうなと思いつつも用語が定義されていないので、「パス名の終端文字として認識される文字で$fnameを終端させる」と解答するにとどめました。

コメントフォーム

※広告や宣伝の書き込みはご遠慮ください。

:

:

:

最近の日記

関わった本など