<< 19/52 >>
First Last

防御手法 - _FORTIFY_SOURCE の仕組み

 #include <string.h>
 int main(int argc, char* argv[]) {
   char buf[5];
   strcpy(buf, argv[1]);
 }

コンパイラが勝手に以下のようなコードに書き変えてます

 #include <string.h>
 int main(int argc, char* argv[]) {
   char buf[5];
   __strcpy_chk(buf, argv[1], 5);
 }