LoginSignup
6
5

More than 5 years have passed since last update.

fopen(3)の"e"オプション

Last updated at Posted at 2014-09-12

fopen(3)の第二引数(mode)に指定できる文字といえば、"r"や"w"や"a"などですが、glibcのfopenにはいくつかの追加modeがあります。

その中の"e"を使うと、open(2)を呼ぶときにO_CLOEXECフラグを指定するようになります。O_CLOEXECについては、小崎さんのKernel Watchの記事「ファイルディスクリプタリークを防げ!」に詳しい説明があります。簡単に言うと、フラグを指定してopenしたファイルディスクリプタは、exec時に自動的にcloseされるようになるという機能です。これを常に指定しておくと、forkとexecの間で全ファイルディスクリプタをcloseして回ったりしなくても済みます。

互換性のため無理でしょうけど、本来ならばO_CLOEXECの挙動の方がデフォルトの方がセキュリティ的に良いでしょうね。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5