
No.1ベストアンサー
- 回答日時:
インターポジショニングといいます。
Cではライブラリ関数名と同じ名前の関数をユーザが定義すると、特に警告することも無くユーザ定義関数を採用する仕様になっているのですが、あるとき、ライブラリ関数名をすべて暗記していないプログラマが、知らずに「mktemp」という名前の関数を自作してしまったため、リンク時にライブラリのmktempがすべてこれに置き換えられてしまい、大騒ぎになったという故事があります。
それ以来、ライブラリ関数のmktempを実行すると、「使わない方がいいですよ」とメッセージを表示するようになったという訳です。
余談ですが、他にもgets()などを使うと、やはり故事にちなんだメッセージが出るはずです。(gets()はバッファサイズを定義しないために、それを利用したwormが作られたことがあるため、現在では推奨されていません)
No.3
- 回答日時:
セキュリティ上の問題がある関数を使ったときに出る警告であることは、既に先の方が回答されています。
これはgccというよりはglicが出している警告です。
glibcのソースを見ていただければ分かることですが、mktemp関数の定義の下のところに、
link_warning (mktemp, "the use of `mktemp' is dangerous, better use `mkstemp'")
というコードが書かれています。
他にも、gets関数などにも同様の記述があります。
No.2
- 回答日時:
参考URLのバグのところだと思います。
-- 抜粋 --
BSD 4.3 系の実装や XXXXXX をプロセス id と1文字により置き換える方式ではせいぜい26の名前を返すことができるにすぎない。この名前は簡単に推測できることや、その名前がすでに存在しているかどうかテストして、そのファイルをオープンする間に競合がある事から、 mktemp() を使うのは毎回セキュリティリスクをおかすことになる。
----
参考URL:http://www.linux.or.jp/JM/html/LDP_man-pages/man …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 Once upon a time, cash was king and credit cards, 3 2022/07/15 23:31
- TOEFL・TOEIC・英語検定 英検準1級英作文の添削をお願いします。 ポイントはCurriculumとGlobalizationを 4 2023/05/29 11:33
- 英語 この英語の問題が分かりません 3 2023/04/22 20:19
- 英語 BIG CITY LIFE Look at the title of the text. Use a 2 2022/05/17 22:07
- 英語 提示文の"done"と"taken"の意味の違いについて 3 2022/03/22 14:28
- 英語 The majority of currently available reviews focus 8 2022/08/07 05:55
- 日本語 格助詞について 2 2022/08/18 12:42
- 英語 Once it is anticipated that the possibility of a b 1 2023/03/04 09:14
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- 英語 The Twilight Zone1959に関するCBSの回答について 1 2023/03/02 15:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Ps+のフリープレイでDestiny2の...
-
python urlopen error について...
-
本格的なGUIを作るのにおすすめ...
-
Google ColaboでGUI作成
-
関数ライブラリ一覧
-
sleep関数
-
C言語について。
-
C# EXCELセルの入力規則設定に...
-
Dreamweaverのライブラリが反映...
-
Excel2003 VBE 参照設定を解除...
-
円グラフについて。
-
「System.Text.RegularExpressi...
-
C言語/画像処理をしたいです/ex...
-
起動するとモニターが初期状態...
-
ライブラリ作成時のグローバル...
-
C#とC++/CLIの使い分け
-
iCloudフォトライブラリ内の画...
-
Windows Media Playerを開くと...
-
LIBCMT.LIBをリンクしてコンパ...
-
アクセスバージョンの違い。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows Media Playerを開くと...
-
Google ColaboでGUI作成
-
本格的なGUIを作るのにおすすめ...
-
python urlopen error について...
-
Dreamweaverのライブラリが反映...
-
ライブラリ作成時のグローバル...
-
マウスのクリックを自動で
-
C++ 標準ライブラリの実際の中...
-
グローバルサイトのフォームバ...
-
unix-c と linux-c の違いは?
-
静的ライブラリから静的ライブ...
-
C# EXCELセルの入力規則設定に...
-
ISOイメージの作成方法について
-
【iTunes】CDをiPhoneに取り込...
-
WAVE⇔MP3のためのライブラリ
-
iPhoneのカメラロールへ画像を...
-
sleep関数
-
MFC/C++ sprintf の代わりに <<
-
VB.NET Blowfishで文字列を暗号化
-
設定ファイルを扱うライブラリ...
おすすめ情報