◆ 무한한 가능성/& Visual C/C++

Safe String Reference

치로로 2009. 6. 23. 18:15


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