C言語の設計ミスった危険な関数トップ10決めようぜ

2019/11/21(木) 12:23:44.93ID:T7Jjyyy1
gets関数とか

その他の例
https://www.jpcert.or.jp/sc-rules/c-msc24-c.html
2019/11/21(木) 15:39:01.67ID:IZBPdnFY
Anal
2019/11/22(金) 14:16:12.00ID:TbHXN4jn
当時の設計なら、gets の仕様はああなる。
2019/11/22(金) 14:46:28.12ID:vYD7HZZ7
gets()をゲッツ、puts()をプッツと読んでたな
2019/11/22(金) 14:53:55.43ID:eCK2aX+t
strtokの読み方で出身地が分かる
2019/11/22(金) 15:15:08.67ID:vYD7HZZ7
>>5
それはストアトークと読んでた
7デフォルトの名無しさん
垢版 |
2019/11/23(土) 04:11:30.09ID:l4WHmfnE
最大のミスは、文字列そのものをデータ型としては持たずに、
文字列はヌルで終端された不定長の文字の配列であるとしたことにある。
2019/11/23(土) 06:08:18.47ID:eMnkZzKn
どうすれば良かった?
2019/11/23(土) 06:14:02.33ID:GXkG1Oic
関数だっつうてんのに
2019/11/25(月) 21:55:20.72ID:E+NtJXA3
scanfだろjk
2019/11/26(火) 04:12:31.62ID:As19A6dg
putchar()はプッチャーと読んでいた
12デフォルトの名無しさん
垢版 |
2019/11/26(火) 12:29:09.20ID:dAEqoOXB
scanf
strtok
feof
2019/11/26(火) 20:24:02.10ID:feqSm/53
C言語の関数名ってまだリンカがシンボルの先頭から6文字までしか認識しなかった頃の名残だしな
変な短縮形が多い
2019/11/27(水) 03:05:40.28ID:nQw9n1Di
strcpy()とか意図しようがしまいが簡単にメモリをぶっ壊せる
よくよく考えるとキチガイ過ぎる
2019/11/27(水) 12:17:59.87ID:zdI/1sLa
C言語に安全性を求めるのは違う
16デフォルトの名無しさん
垢版 |
2019/11/27(水) 12:31:41.61ID:KtqS+hCI
time
localtime
2019/11/27(水) 13:15:40.24ID:MN5dlGGA
>>15
ほんそれ
2019/11/27(水) 13:50:48.05ID:pAkxzJaX
>>15
根本的な所を勘違いしてる。

C言語で安全性が求められないからと言って、
C言語で作ったアプリには安全性は求められるだろ?

例えば、getsは安全に使うことが不可能なんだよ。
2019/11/27(水) 14:42:57.39ID:MN5dlGGA
大昔に出来た関数なんだから多くを求めるな
2019/11/30(土) 20:36:22.78ID:4Da+M2q+
>>11
俺はプッキャーだった
2019/11/30(土) 20:38:28.97ID:4Da+M2q+
>>18
> 例えば、getsは安全に使うことが不可能なんだよ。
ならgetsを使わずにgetcでやればいいだけ
2019/11/30(土) 21:25:24.92ID:vRr1Hx4s
安全は考えないで設計したのでミスってはいない
2019/11/30(土) 22:19:14.33ID:Zwer7NNs
アブドーラ・ザ・プッチャー
2019/12/01(日) 10:49:26.54ID:uAQAPMuh
組み込みでC言語は使うけど、10個以上の標準関数って使わないな...。
2019/12/01(日) 12:47:24.87ID:p3Z7Nr0h
memcpy / memset / memcmp
strlen / str(n)cpy / str(n)cmp / str(n)cat

これで10個
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況