Stack smashing detected!란 메시지를 보게 되었습니다. 이것이 무엇인고... 해서 인터넷을 찾아보고 했는데...
다음과 같은 페이지를 찾을 수 있었습니다.
......버퍼 오버플로우는 보통 문자들의 문자열인 일련의 값들을 고정된 길이를 갖는 버퍼에 작성하고 적어도 한 값을 버퍼의 경계 외부 (보통 버퍼 경계를 넘어선다) 에 작성할 때 일어난다. 버퍼 오버플로우는 사용자로부터의 입력을 버퍼내로 읽어들일 때 일어날 수 있지만 또한 프로그램내에서 다른 종류의 프로세싱 동안에 일어날 수도 있다.......아.. 그렇군요! 버퍼 오버플로우가 났단 말이군요.
그래서 프로그램 코드를 보니까 길이 20짜리 배열을 딱 하나 썼는데... 그게 문제였습니다.
크기를 더 키워주니까 오류가 나지 않더군요^^
예전에 비주얼 스튜디오를 쓸 때에는 메시지가 좀 다르게 나온 것 같았는데 gcc를 사용하면서 처음 봤습니다. 정적 배열은 잘 안써서 이런 오류를 볼 일이 잘 없었던 것 같기도 하네요.
'Talk > IT' 카테고리의 다른 글
| 모바일 플랫폼 경쟁시대?! 한국은?? (0) | 2008/08/29 |
|---|---|
| 윈도 정품 혜택 알림?! 검은 바탕화면 대신 이런건 어떨까요? (0) | 2008/08/29 |
| stack smashing detected! (2) | 2008/08/19 |
| 구글칼렌다에서 드디어 SMS를 지원합니다! (0) | 2008/08/07 |
| 아이폰이 국내 출시되지 못하고 있는 또 다른 이유 (9) | 2008/07/28 |
| 나만의 버튼 만들기 & 추천 프로그램 및 서비스들 (2) | 2008/06/24 |




같은 오류가 발생해서, 찾아보니 역시 문자열의 길이문제 였습니다. ^^;
2008/11/26 19:50^^; 자나깨나 배열 길이 조심해야 할 것 같습니다^^;
2008/11/27 14:08