버퍼 오버플로우 검사
에효... 얼마전에 초난감 삽질로 반나절을 날렸습니다.
계속 변수들이 값이 바뀌고 애매한 위치에서 익셉션이 나고 난리길래
오만 삽질 디버깅 끝에 아래 코드가 문제라는 것을 알았습니다...;
4개짜리 배열 변수에다가 루프를 8번 돌아서 값을 입력하려고 했으니 -_-;
에혀... 봐도 너무 한심하네요...
저희쪽 코드가 워낙 하드코딩을 일삼는 짓이 많다보니... 뭐 copy & paste 의 폐해이자 동시에,
일차적인 원인도 저런 코드를 만든 저 자신에게 있지만 그래도 이런건 컴파일러에서 좀 잡아줫으면
좋겠구만... 하는 생각이 막 앞서네요 (반나절을 날린 댓가를 누군가에게 보상받고 싶은 마음일지도)
제가 아직 6.0 컴파일러를 사용해서 노망난 컴파일러에게 저런 것 까지 기대하는 것은
무리인 것일까 하는 마음에 2003 으로 한번 테스트를 해봤습니다.
VS 2003 이상에서는 아시다 시피 저런 옵션이 있죠.
그리고 빌드를 해봤습니다......결과는 !!!!!
뭐.... 마찬가지네요...
저한테 VS 2008 은 없어서, 옆에 앉은 넘에게 한번 시켜봤는데
VS 2008 역시 역시 결과는 마찬가지 였습니다.
컴파일러가 체크해 주는 BOF 의 기준은 어디까지일까 하는 생각을 갖게 하네요.
파고들어 보고 싶지만 아으 이걸로 (이렇게 멍청하게도)시간을 날려보니까 웬지 더이상
건드리기 싫다는 생각도 듭니다 :p
혹시 알고 계신 분은 공유해 주세요 ~
window31.
