프로그래밍

warning C4996: 'strcat': This function or variable may be unsafe

채윤아빠 2008. 5. 23. 15:28
728x90
반응형
VS 2005로 개발하던 중에 다음과 같은 오류를 만났습니다.

경고 2 warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. d:\project\test.cpp  49
strcpy, strcat 등의 함수가 버퍼 오버 플로우 공격에 취약하기 때문에 좀더 안전하게 strcpy_s, strcat_s 류의 함수를 사용하라는 권고 메시지더군요.

그런데, 권장하는 _s 함수로 변경하려면, 매개변수가 틀려서 코드 전체를 바꾸어야 하기 때문에 매우 번거롭더군요. 위와 같은 경고가 나타나지 않도록 하기 위해서는 프로젝트 속성에서, C/C++ 항목의 전처리기(Define) 부분에 "_CRT_SECURE_NO_WARNINGS" 를 추가해 주면 사라집니다.

나중에 새로운 부분을 코딩할 때는 _s 함수군을 사용하여 프로그램하여 보안에 신경을 쓰도록 합시다.