« viのカスタマイズ | トップページ | strace »

gets関数について

C言語でのプログラミングについてです。

gets関数を使ってプログラミングすると、コンパイル時、以下の警告メッセージ
が出力される。しかしちゃんと実行ファイルは作成される。
これはエラーではなく、警告のメッセージである。

/tmp/cc6Yhrbi.o: In function `main':
test06.c:(.text+0x2e): warning: the `gets' function is dangerous and should not be used.

Linux上でgetsのマニュアルを参照すると以下のことが書かれている。

gets() は絶対に使用してはならない。前もってデータを知ることなしに gets() が
何文字読むかを知ることはできず、 gets() がバッファの終わりを越えて書き込み続けるため、
gets() を使うのは極めて危険である。これを利用してコンピュータのセキュリティが破られてきた。
代わりに fgets() を使うこと。

|

« viのカスタマイズ | トップページ | strace »

備忘録(C言語)」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1005158/11053864

この記事へのトラックバック一覧です: gets関数について:

« viのカスタマイズ | トップページ | strace »