■ このスレッドは過去ログ倉庫に格納されています
getsの正しい使い方を考えてあげるスレ
- 1 :デフォルトの名無しさん:2017/01/15(日) 21:28:14.86 ID:T6BZe6fz.net
- getsをこよなく愛するID:HYjV15pa0のためにgetsの正しい使い方を考えてあげるスレです
- 2 :デフォルトの名無しさん:2017/01/15(日) 21:30:00.31 ID:T6BZe6fz.net
- では、どーぞ
- 3 :デフォルトの名無しさん:2017/01/15(日) 21:40:42.25 ID:OwCHVx6x.net
- 老害によってC言語でのセキュアコーディング全否定まで話が飛んで行っちゃってるからこのスレタイでは役者不足だな
- 4 :デフォルトの名無しさん:2017/01/15(日) 21:49:46.17 ID:T6BZe6fz.net
- getsを正しく使うことが出来れば、いかなる脅威も防ぐ事が出来る
- 5 :デフォルトの名無しさん:2017/01/15(日) 21:51:27.60 ID:Z39GcWi7.net
- gets() はバッファに残すことがあるからな‥
- 6 :デフォルトの名無しさん:2017/01/15(日) 22:06:36.99 ID:T6BZe6fz.net
- まず、プログラムの先頭でfstatしてレギュラーファイル以外だったら終了
次にfseek(stdin, bufsize, SEEK_END)
これで安全にgetsが使えるぞ
- 7 :デフォルトの名無しさん:2017/01/15(日) 23:54:33.61 ID:n4sLGdXn.net
- getsは、無理
- 8 :デフォルトの名無しさん:2017/01/16(月) 00:03:41.33 ID:4D4bT+Tb.net
- 「無理」というのはですね、嘘吐きの言葉なんです。途中で止めてしまうから無理になるんですよ。
- 9 :デフォルトの名無しさん:2017/01/16(月) 01:21:04.13 ID:0nV0x3iS.net
- _____
/ミミ\\\\ \
/ミミミ\\\\\\\
/彡ミミミ\\\\\\\\
|彡ミミ/\\\\\\\\|
|彡 | \\\\\\\|
ヽ |へ、_ _,へ\\\\/
| __ __ | / ) ゲッツ!!
| |/ ノ
| ( / _ ) /
ヽ ヽ |
ヽ ヽー‐‐‐ァ /\
//ヽ ヽ-‐' / /\ \
/ / ヽ_ / / / \
/ \ |\ /| /\ \
(⌒\ / (⌒ヽ |二| | / \ \
__ゝ ヽ ___ ゝ \ \| / / |
( ヽ─ ( l ) ヽヽ / / / |
 ̄ ̄( ̄丿 |  ̄ ̄( ̄ ゝ \ / / |
( ̄ノ | ( ̄ ゝ | ̄ ̄ ̄ ̄ |
- 10 :デフォルトの名無しさん:2017/01/16(月) 01:25:27.53 ID:xL6PZBhm.net
- gets_sならまだマシかも
- 11 :デフォルトの名無しさん:2017/01/16(月) 01:33:24.11 ID:0nV0x3iS.net
- char a[100]; // 100バイト以上無理
gets(a);
「無理」というのはですね、嘘吐きの言葉なんです。途中で止めてしまうから無理になるんですよ。
- 12 :デフォルトの名無しさん:2017/01/16(月) 01:34:54.78 ID:0nV0x3iS.net
- > gets は、C言語における標準入力から1行分の文字列を取り出す関数である。
> この関数はバッファオーバーランを防ぐことが不可能という致命的な脆弱性を持っており、
> 2011年の改定のC11の標準CライブラリやC++14の標準C++ライブラリより廃止された[1]。
へー、相変わらずC言語はくだらない問題抱えてんなw
C言語自体が致命的な脆弱性持ってるんじゃねーの?www
- 13 :デフォルトの名無しさん:2017/01/16(月) 01:44:05.68 ID:0nV0x3iS.net
- >>10
> gets_sならまだマシかも
gets_sって標準関数なのかw
俺の記憶が正しければ、C言語の脆弱性に業を煮やしたマイクロソフトが
おめーら使うんじゃねーよ。全部、_s関数シリーズで置き換えてやらぁって
作ったものだと思ってたがw
http://www.kumei.ne.jp/c_lang/intro2/no_125.htm
> なお、gets_sとかstrcpy_s関数はVS2005特有の関数なので、現在のところ他の 環境では使うことができません。
そうか、マイクロソフトがC言語標準になったのかw
- 14 :デフォルトの名無しさん:2017/01/16(月) 01:52:47.96 ID:0nV0x3iS.net
- https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/c910.html
> バッファオーバーフロー(あふれ)対策が施された strcpy_s 関数をはじめとする 37の関数が導入された。
ひでーなw
C言語は高校の頃(2000年前後)に使っていたが
これらの関数使ったらバッファオーバーフロー(当時はこんな言葉知らなかった)
するけどどうやって防ぐん?って思ってたが、やはり使えない関数だったんだなw
- 15 :デフォルトの名無しさん:2017/01/16(月) 01:56:54.58 ID:0nV0x3iS.net
- https://www.jpcert.or.jp/sc-rules/c-str07-c.html
> C 標準の附属書 K (規定) "Bounds-checking interfaces" [ISO/IEC 9899:2011] は、
> 既存の標準文字列処理関数に代わり、より安全に利用できるように設計された代替関数を規定している。
> たとえば、strcpy()、strcat()、strncpy() および strncat() の代替関数として、
> それぞれ strcpy_s()、strcat_s()、strncpy_s() および strncat_s() 関数を定義している。
>
> 附属書 K の関数は、過去 10 年間に起きた広く知られている多数のセキュリティインシデントに対応して、
> レガシーコードの改善に役立てる目的で Microsoft によって作成された。これらの関数はその後、
> プログラミング言語 C の国際標準化ワーキンググループ(ISO/IEC JTC1/SC22/WG14)へ、標準化のために提案された。
あってたーw
マイクロソフトがC標準関数を置き換えたという事実。
_sというダサいネーミングセンスによってC言語がマイクロソフトに犯されてしまってたwww
- 16 :デフォルトの名無しさん:2017/01/16(月) 01:59:56.49 ID:foM3Xg+4.net
- strcpyは使い方次第で安全に使えるから
- 17 :デフォルトの名無しさん:2017/01/16(月) 02:10:29.70 ID:0nV0x3iS.net
- 使い方次第というのは、strcpy自身は脆弱だから
strcpyを呼び出す前に、脆弱性を回避するための
コードを入れるということですよね?
- 18 :デフォルトの名無しさん:2017/01/16(月) 05:47:48.17 ID:6vAXgKbK.net
- gets_s以外の_s関数は元の関数にちょっとチェック処理加えて簡単に実装できるけど
gets_sだけはgetsを使って実装するのは無理なんだよね?
他にもダメなのがあるのかな?
- 19 :デフォルトの名無しさん:2017/01/16(月) 14:08:21.93 ID:VsU1oIPP.net
- sは構造体につける印だから紛らわしい
- 20 :デフォルトの名無しさん:2017/01/16(月) 23:03:48.48 ID:l2xb+8XF.net
- >>9
だれでも思いつくベタネタだが、まあ正しいの使い方ではあるな
- 21 :デフォルトの名無しさん:2017/01/29(日) 00:08:42.83 ID:l64DxDCa.net
- まあこういう単純な馬鹿をはじくということだけでも
c を採用するのは意味あることだな。
- 22 :デフォルトの名無しさん:2017/11/05(日) 18:25:33.57 ID:rSDVGL6P.net
- (σ・∀・)σゲッツ!!
- 23 :デフォルトの名無しさん:2017/11/11(土) 13:59:17.04 ID:9HDWObDB.net
- C言語はゴミ
- 24 :デフォルトの名無しさん:2018/05/23(水) 21:17:37.59 ID:Au5e7VGg.net
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
7P00B
- 25 :デフォルトの名無しさん:2018/07/05(木) 00:40:09.26 ID:RfoszcD2.net
- L51
- 26 :デフォルトの名無しさん:2018/11/20(火) 19:22:26.88 ID:fLsKk4Je.net
- gets
- 27 :デフォルトの名無しさん:2020/04/22(水) 21:23:18.76 ID:TQVQtNCZ.net
- 馬鹿には使えない言語
しかし世の中には一定数の馬鹿が居るので
一定確率でとんでもない事故を引き起こしてしまう
精神論に対しては冷静な指摘をする純真な子供が必要だ
総レス数 27
8 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★