C/C++ 문자열 관련 함수는 buffer overflow 취약점을 가지고 있다.
이에 MS에서 Safe String Reference를 제공한다.
프로젝트를 진행중에
_vsnwprintf 함수의 buffer overflow문제가 발생하기도 했다.
다음은 C/C++문자열을 Safe String Reference로 변경의 호환이다.
-------------------------------------------------------------------------
1. StringCchCat()
strcat, wcscat, lstrcat, StrCatBuff, _tcscat, _ftcscat
2. StringCchCatN()
strncat, StrNCat
3. StringCchCopy()
strcpy, wcscpy, lstrcpy, _tcscpy, _ftcscpy
4. StringCchCopyN()
strncpy
5. StringCchPrintf()
sprintf, swprintf, wsprintf, wnsprintf,
_stprintf, _snprintf, _snwprintf, _sntprintf
6. StringCchVPrintf()
vsprintf, vswprintf, wvsprintf, wvnsprintf,
_vstprintf, _vsnprintf, _vsnwprintf, _vsntprintf
7. StringCchLength()
strlen
-------------------------------------------------------------------------
위의 1. StirngCchCat() ~ 7. StinrgCchLength() 에서...
경우에 따라서 말이다....
문자열이...
'ANSI'일 경우에 끝에 A 붙이고
'WORD'일 경우에 끝에 W를 붙여야 한다.
'◆ 무한한 가능성 > & Visual C/C++' 카테고리의 다른 글
Thread (0) | 2009.08.19 |
---|---|
Kernel Object (0) | 2009.08.17 |
[C/C++] Code Convention (헝가리언 표기법) (0) | 2009.05.12 |
[C/C++] cctype 문자 함수 (0) | 2009.03.16 |
[C/C++] 입력방법 cin>>ch; cin.get(ch); (0) | 2009.03.16 |