C言語の設計ミスった危険な関数トップ10決めようぜ (215レス)
C言語の設計ミスった危険な関数トップ10決めようぜ http://mevius.5ch.net/test/read.cgi/tech/1574306624/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: デフォルトの名無しさん [sage] 2019/11/21(木) 12:23:44.93 ID:T7Jjyyy1 gets関数とか その他の例 https://www.jpcert.or.jp/sc-rules/c-msc24-c.html http://mevius.5ch.net/test/read.cgi/tech/1574306624/1
2: デフォルトの名無しさん [sage] 2019/11/21(木) 15:39:01.67 ID:IZBPdnFY Anal http://mevius.5ch.net/test/read.cgi/tech/1574306624/2
3: デフォルトの名無しさん [sage] 2019/11/22(金) 14:16:12.00 ID:TbHXN4jn 当時の設計なら、gets の仕様はああなる。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/3
4: デフォルトの名無しさん [sage] 2019/11/22(金) 14:46:28.12 ID:vYD7HZZ7 gets()をゲッツ、puts()をプッツと読んでたな http://mevius.5ch.net/test/read.cgi/tech/1574306624/4
5: デフォルトの名無しさん [sage] 2019/11/22(金) 14:53:55.43 ID:eCK2aX+t strtokの読み方で出身地が分かる http://mevius.5ch.net/test/read.cgi/tech/1574306624/5
6: デフォルトの名無しさん [sage] 2019/11/22(金) 15:15:08.67 ID:vYD7HZZ7 >>5 それはストアトークと読んでた http://mevius.5ch.net/test/read.cgi/tech/1574306624/6
7: デフォルトの名無しさん [] 2019/11/23(土) 04:11:30.09 ID:l4WHmfnE 最大のミスは、文字列そのものをデータ型としては持たずに、 文字列はヌルで終端された不定長の文字の配列であるとしたことにある。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/7
8: デフォルトの名無しさん [sage] 2019/11/23(土) 06:08:18.47 ID:eMnkZzKn どうすれば良かった? http://mevius.5ch.net/test/read.cgi/tech/1574306624/8
9: デフォルトの名無しさん [sage] 2019/11/23(土) 06:14:02.33 ID:GXkG1Oic 関数だっつうてんのに http://mevius.5ch.net/test/read.cgi/tech/1574306624/9
10: デフォルトの名無しさん [sage] 2019/11/25(月) 21:55:20.72 ID:E+NtJXA3 scanfだろjk http://mevius.5ch.net/test/read.cgi/tech/1574306624/10
11: デフォルトの名無しさん [sage] 2019/11/26(火) 04:12:31.62 ID:As19A6dg putchar()はプッチャーと読んでいた http://mevius.5ch.net/test/read.cgi/tech/1574306624/11
12: デフォルトの名無しさん [] 2019/11/26(火) 12:29:09.20 ID:dAEqoOXB scanf strtok feof http://mevius.5ch.net/test/read.cgi/tech/1574306624/12
13: デフォルトの名無しさん [sage] 2019/11/26(火) 20:24:02.10 ID:feqSm/53 C言語の関数名ってまだリンカがシンボルの先頭から6文字までしか認識しなかった頃の名残だしな 変な短縮形が多い http://mevius.5ch.net/test/read.cgi/tech/1574306624/13
14: デフォルトの名無しさん [sage] 2019/11/27(水) 03:05:40.28 ID:nQw9n1Di strcpy()とか意図しようがしまいが簡単にメモリをぶっ壊せる よくよく考えるとキチガイ過ぎる http://mevius.5ch.net/test/read.cgi/tech/1574306624/14
15: デフォルトの名無しさん [sage] 2019/11/27(水) 12:17:59.87 ID:zdI/1sLa C言語に安全性を求めるのは違う http://mevius.5ch.net/test/read.cgi/tech/1574306624/15
16: デフォルトの名無しさん [] 2019/11/27(水) 12:31:41.61 ID:KtqS+hCI time localtime http://mevius.5ch.net/test/read.cgi/tech/1574306624/16
17: デフォルトの名無しさん [sage] 2019/11/27(水) 13:15:40.24 ID:MN5dlGGA >>15 ほんそれ http://mevius.5ch.net/test/read.cgi/tech/1574306624/17
18: デフォルトの名無しさん [sage] 2019/11/27(水) 13:50:48.05 ID:pAkxzJaX >>15 根本的な所を勘違いしてる。 C言語で安全性が求められないからと言って、 C言語で作ったアプリには安全性は求められるだろ? 例えば、getsは安全に使うことが不可能なんだよ。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/18
19: デフォルトの名無しさん [sage] 2019/11/27(水) 14:42:57.39 ID:MN5dlGGA 大昔に出来た関数なんだから多くを求めるな http://mevius.5ch.net/test/read.cgi/tech/1574306624/19
20: デフォルトの名無しさん [sage] 2019/11/30(土) 20:36:22.78 ID:4Da+M2q+ >>11 俺はプッキャーだった http://mevius.5ch.net/test/read.cgi/tech/1574306624/20
21: デフォルトの名無しさん [sage] 2019/11/30(土) 20:38:28.97 ID:4Da+M2q+ >>18 > 例えば、getsは安全に使うことが不可能なんだよ。 ならgetsを使わずにgetcでやればいいだけ http://mevius.5ch.net/test/read.cgi/tech/1574306624/21
22: デフォルトの名無しさん [sage] 2019/11/30(土) 21:25:24.92 ID:vRr1Hx4s 安全は考えないで設計したのでミスってはいない http://mevius.5ch.net/test/read.cgi/tech/1574306624/22
23: デフォルトの名無しさん [sage] 2019/11/30(土) 22:19:14.33 ID:Zwer7NNs アブドーラ・ザ・プッチャー http://mevius.5ch.net/test/read.cgi/tech/1574306624/23
24: デフォルトの名無しさん [sage] 2019/12/01(日) 10:49:26.54 ID:uAQAPMuh 組み込みでC言語は使うけど、10個以上の標準関数って使わないな...。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/24
25: デフォルトの名無しさん [sage] 2019/12/01(日) 12:47:24.87 ID:p3Z7Nr0h memcpy / memset / memcmp strlen / str(n)cpy / str(n)cmp / str(n)cat これで10個 http://mevius.5ch.net/test/read.cgi/tech/1574306624/25
26: デフォルトの名無しさん [sage] 2019/12/01(日) 13:17:11.11 ID:W5IIwakz 組み込みで文字列扱わないことも多いね。 どんな製品でもほぼ使うのはmemset、memcpy、memcmpぐらいじゃない? http://mevius.5ch.net/test/read.cgi/tech/1574306624/26
27: デフォルトの名無しさん [sage] 2019/12/01(日) 17:41:11.15 ID:YWi4MX0G >>25 >>1のリンク先より 未チェックの時代遅れの関数 以下の関数を、未チェックの時代遅れの関数と定義する。 memcpy, strcpy, strncpy, strcat, strncat (一部抜粋) 半分あてはまってるなw >>26 memcpyは危険なので使うのはやめましょう http://mevius.5ch.net/test/read.cgi/tech/1574306624/27
28: デフォルトの名無しさん [sage] 2019/12/01(日) 20:53:25.46 ID:IKYJT3WJ C言語ではなく標準ライブラリの話かい。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/28
29: デフォルトの名無しさん [sage] 2019/12/01(日) 21:25:08.28 ID:7gLQ63yc アセンブラより安全なら良いじゃん http://mevius.5ch.net/test/read.cgi/tech/1574306624/29
30: デフォルトの名無しさん [sage] 2019/12/02(月) 00:51:13.45 ID:RIgVO6ZZ memcpyが危険とか言うなら C言語使うなってことになる http://mevius.5ch.net/test/read.cgi/tech/1574306624/30
31: デフォルトの名無しさん [sage] 2019/12/02(月) 00:53:00.40 ID:RIgVO6ZZ >>28 標準じゃない関数だと... 失敗談みたいなのを期待してた? http://mevius.5ch.net/test/read.cgi/tech/1574306624/31
32: デフォルトの名無しさん [sage] 2019/12/02(月) 02:04:59.50 ID:AAYR8Yqw >>1 セキュリティ考慮していない元関数より、代替関数の設計ミスが酷いな strtodとかなにこれw エラーの返し方がアホすぎる http://mevius.5ch.net/test/read.cgi/tech/1574306624/32
33: デフォルトの名無しさん [sage] 2019/12/02(月) 06:48:47.55 ID:kJrDK+4B >>32 > strtodとかなにこれw > エラーの返し方がアホすぎる そう言うのは改善案を提案しないと単なるアホの独り言にしかならんぞw http://mevius.5ch.net/test/read.cgi/tech/1574306624/33
34: デフォルトの名無しさん [sage] 2019/12/02(月) 13:15:48.70 ID:EYnQFBh2 一体どういう考えで昔の人は、getsの仕様はあれでOKだと思ったんだろう? どう考えてもバッファオーバーフローするやん? しない方法なんて存在するの? http://mevius.5ch.net/test/read.cgi/tech/1574306624/34
35: デフォルトの名無しさん [sage] 2019/12/02(月) 13:18:13.53 ID:xJykAg3Z バッファオーバーフローしないデータを食わせれば良い わざわざ変なデータを入力するヤツが悪い って考えの時代の関数だ http://mevius.5ch.net/test/read.cgi/tech/1574306624/35
36: デフォルトの名無しさん [sage] 2019/12/02(月) 13:41:09.67 ID:EYnQFBh2 でもさ、getsってキーボード入力やろ? http://mevius.5ch.net/test/read.cgi/tech/1574306624/36
37: デフォルトの名無しさん [sage] 2019/12/02(月) 15:30:07.33 ID:LC/c96JG gets は、もう、標準ライブラリにも入っていないので許せ http://mevius.5ch.net/test/read.cgi/tech/1574306624/37
38: デフォルトの名無しさん [sage] 2019/12/02(月) 18:02:20.65 ID:kmSxls5X >>36 わざわざ変なデータを入力するヤツが悪い http://mevius.5ch.net/test/read.cgi/tech/1574306624/38
39: デフォルトの名無しさん [sage] 2019/12/02(月) 18:41:59.62 ID:E2hgf+6B ダンディ坂野「gets!!」 http://mevius.5ch.net/test/read.cgi/tech/1574306624/39
40: デフォルトの名無しさん [sage] 2019/12/02(月) 20:50:15.44 ID:kJrDK+4B >>36 1行80文字とかって決め打ちできる環境なんでしょ 自分しか使わないようなツールとかならこれで十分 って考え http://mevius.5ch.net/test/read.cgi/tech/1574306624/40
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 175 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s