バッファオーバーフロー、スタックオーバーフロー、ヒープオーバーフローについて読んでいました。私もこの投稿を読みました。私の質問はそのようなものです:コードでグローバル変数のみを使用する場合、オーバーフローのすべての悪用を防ぐと言えますか?
グローバルスコープで宣言されたコードにこのバッファがあるとしましょう:
char buf1[10];
char buf2[100];
buf1
バッファとして送信する場合recv(int s, char *buf, int len,int flags);
- データセグメントを上書きして、
buf2
コンテンツを台無しにする可能性がありますよね? - 私が知っているように、それはコードセグメントではなく、データセグメントは実行可能ではないので、そこからコードを実行できますか?
グローバルを使用することが最も安全な方法であると結論付けることができますか?