C言語なら俺に聞け(入門編)Part 72

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2010/11/06(土) 21:05:13
どっかで「malloc()でとったメモリ、初期化してねーのかよ、ど素人かよ」とか
煽られてムカついてなんとか言い返したいのかなとか、想像してみる。
953デフォルトの名無しさん:2010/11/06(土) 21:06:00
>>952
そういう経験をしたのですね
954デフォルトの名無しさん:2010/11/06(土) 21:10:47
955デフォルトの名無しさん:2010/11/06(土) 21:11:02
>>952
だとしてもそんな処理系依存の答えを返したらもっと笑われるだろ
956デフォルトの名無しさん:2010/11/06(土) 21:12:32
>>955
そこまで分かってたら、初期化されていないか目で確かめたいって発想がわかないと思う。
957デフォルトの名無しさん:2010/11/06(土) 21:13:49
┏━━━━━━━━━━━━┓
┃初期化しませんか?   ┃
┃            ┃
┃   [はい][いいえ]┃
┗━━━━━━━━━━━━┛

958デフォルトの名無しさん:2010/11/06(土) 21:17:21
値を確認することは出来るかもしれないが
肉眼で確認するのは難しいんじゃないか?
959デフォルトの名無しさん:2010/11/06(土) 21:19:29
たまたま全部0だった場合に何て言い出すのか気になるw
960デフォルトの名無しさん:2010/11/06(土) 21:25:58
初期化はされるものじゃなくてするものだよ。
961デフォルトの名無しさん:2010/11/06(土) 21:27:16
962デフォルトの名無しさん:2010/11/06(土) 21:33:06
初期化はするものじゃなくてされるものだよ。
963デフォルトの名無しさん:2010/11/06(土) 21:36:57
この速さなら言える!初期化!
964デフォルトの名無しさん:2010/11/06(土) 21:41:08
最近はセキュリティー上の配慮もあって
0で初期化されたメモリを返す処理系も多いけどな。
Windowsも初期化されたメモリを割り当てるんじゃ無かったけっけ?

965デフォルトの名無しさん:2010/11/06(土) 21:42:09
だから何?
966デフォルトの名無しさん:2010/11/06(土) 21:43:27
>>965
mallocは初期化するじゃんwww
967デフォルトの名無しさん:2010/11/06(土) 21:44:55
だからそれは初期化じゃねんだってば。
968デフォルトの名無しさん:2010/11/06(土) 21:47:20
>>967
最近はセキュリティー上の配慮もあって
0で初期化されたメモリを返す処理系も多いけどな。
Windowsも初期化されたメモリを割り当てるんじゃ無かったけっけ?
969デフォルトの名無しさん:2010/11/06(土) 21:48:18
んなことない
970デフォルトの名無しさん:2010/11/06(土) 21:49:33
>>969
初期化されないOSなんてセキュリティホールそのものだから早く捨てろよ
971デフォルトの名無しさん:2010/11/06(土) 21:52:44
バカが来たようだ
972デフォルトの名無しさん:2010/11/06(土) 21:56:13
>>968
いま見てみたらgccでもvcでも初期化されてないようだ。
973デフォルトの名無しさん:2010/11/06(土) 22:00:57
こんな屁理屈言うってことは >>952 みたいな感じなんだろうな。
974デフォルトの名無しさん:2010/11/06(土) 22:09:52
次スレ立てます
975デフォルトの名無しさん:2010/11/06(土) 22:11:24 BE:189342645-S★(531777)
次スレ立てました
C言語なら俺に聞け(入門編)Part 73
http://hibari.2ch.net/test/read.cgi/tech/1289049065/
976デフォルトの名無しさん:2010/11/06(土) 22:18:28
立派なのが起ちました
977デフォルトの名無しさん:2010/11/06(土) 23:04:55
Win32APIでOpenProcess()があるけど、GCCでそれ相当の関数ってありますか?

Window環境とLinux環境で別プロセスのメモリ内容を参照したいんですけど、
Windowsは、OpenProcess()使えば出来そうなのですが、
Linuxでの手段が思い当たりませんでした・・・
978デフォルトの名無しさん:2010/11/06(土) 23:05:42
fork()
979デフォルトの名無しさん:2010/11/06(土) 23:07:34
ptrace(2)
980デフォルトの名無しさん:2010/11/06(土) 23:20:38
mallocはメモリを確保する
確保=初期化なんだから、初期化されてると見なしてもいい
981デフォルトの名無しさん:2010/11/06(土) 23:28:24
埋め
982デフォルトの名無しさん:2010/11/06(土) 23:28:57
>>977
ptrace で ATTACH して /proc/<プロセスID>/mem を open して seek して read するといいらしいよ
983デフォルトの名無しさん:2010/11/06(土) 23:29:14
>>982
984デフォルトの名無しさん:2010/11/06(土) 23:30:29
データベース言語とかマークアップ言語とかありますので
985デフォルトの名無しさん:2010/11/06(土) 23:32:19
埋め
986デフォルトの名無しさん:2010/11/06(土) 23:33:01
教えて頂き、ありがとうございます。
試してみます!
987946:2010/11/06(土) 23:35:50
>>949
セキュリティプログラミングのPDFを読んでいてた。
mallocで確保されたメモリが初期化されていなかたために、
脆弱性を作り出してしまったって記事を読んだ。
なので、本当にmallocで初期化されたメモリが初期化されていないか確かめたかったわけ

>>980
それってさ、もっと高級な言語の話じゃないの
988デフォルトの名無しさん:2010/11/06(土) 23:37:25
>>980
馬鹿発見
989デフォルトの名無しさん:2010/11/06(土) 23:40:52
>>987
>なので、本当にmallocで初期化されたメモリが初期化されていないか確かめたかったわけ
初期化されていないデータがどのようなものか調べないと意味がない。
初期化されないなんてのははっきりいって規格にも書いてあること。
990デフォルトの名無しさん:2010/11/06(土) 23:43:24
>>988
釣られるなよ
991デフォルトの名無しさん:2010/11/06(土) 23:45:48
ウニョ
992デフォルトの名無しさん:2010/11/06(土) 23:51:08
ピャピャピャー
993デフォルトの名無しさん:2010/11/06(土) 23:52:15
データベース言語とかマークアップ言語とかありますので
994デフォルトの名無しさん:2010/11/06(土) 23:52:42
だから、0クリアされてたとしても
それは初期化とはいえんだろ。
初期化の意味わかってんのか?
995デフォルトの名無しさん:2010/11/06(土) 23:53:02
callocってのがなかったっけ
996デフォルトの名無しさん:2010/11/06(土) 23:53:50
コピペの奴はそうとう悔しかったんだな
997デフォルトの名無しさん:2010/11/06(土) 23:54:01
>>995
ある。そっちは初期化される。
998デフォルトの名無しさん:2010/11/06(土) 23:54:11
えっ
999デフォルトの名無しさん:2010/11/06(土) 23:58:41
calloc使え
1000デフォルトの名無しさん:2010/11/06(土) 23:58:46
Haskellが1000get
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。