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

12: 2019/11/26(火)12:29 ID:dAEqoOXB(1) AAS
scanf
strtok
feof
13: 2019/11/26(火)20:24 ID:feqSm/53(1) AAS
C言語の関数名ってまだリンカがシンボルの先頭から6文字までしか認識しなかった頃の名残だしな
変な短縮形が多い
14: 2019/11/27(水)03:05 ID:nQw9n1Di(1) AAS
strcpy()とか意図しようがしまいが簡単にメモリをぶっ壊せる
よくよく考えるとキチガイ過ぎる
15
(2): 2019/11/27(水)12:17 ID:zdI/1sLa(1) AAS
C言語に安全性を求めるのは違う
16: 2019/11/27(水)12:31 ID:KtqS+hCI(1) AAS
time
localtime
17: 2019/11/27(水)13:15 ID:MN5dlGGA(1/2) AAS
>>15
ほんそれ
18
(1): 2019/11/27(水)13:50 ID:pAkxzJaX(1) AAS
>>15
根本的な所を勘違いしてる。

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

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

これで10個
26
(1): 2019/12/01(日)13:17 ID:W5IIwakz(1) AAS
組み込みで文字列扱わないことも多いね。
どんな製品でもほぼ使うのはmemset、memcpy、memcmpぐらいじゃない?
27: 2019/12/01(日)17:41 ID:YWi4MX0G(1) AAS
>>25

>>1のリンク先より

未チェックの時代遅れの関数
以下の関数を、未チェックの時代遅れの関数と定義する。
memcpy, strcpy, strncpy, strcat, strncat (一部抜粋)

半分あてはまってるなw

>>26
memcpyは危険なので使うのはやめましょう
28
(1): 2019/12/01(日)20:53 ID:IKYJT3WJ(1) AAS
C言語ではなく標準ライブラリの話かい。
29: 2019/12/01(日)21:25 ID:7gLQ63yc(1) AAS
アセンブラより安全なら良いじゃん
30: 2019/12/02(月)00:51 ID:RIgVO6ZZ(1/2) AAS
memcpyが危険とか言うなら
C言語使うなってことになる
31: 2019/12/02(月)00:53 ID:RIgVO6ZZ(2/2) AAS
>>28
標準じゃない関数だと...
失敗談みたいなのを期待してた?
1-
あと 184 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.019s