Run-Time Check Failure #2
VS6.0 VC++ 에서 작성된 소스를 VS.NET VC++ 에서 컴파일 할때 에러 발생
Run-Time Check Failure #2 - Stack around the variable ‘szTemp’ was corrupted.
Stack Buffer Overflow 문제임...
===========================================================================================
ODBC로 DB에서 필드 값을 가져올때...
필드 크기가 varchar(20)이고 소스내 fetch해서 받는 변수 크기가 char szTemp[20]...
문자열 NULL값을 위해서 변수의 크기는 하나 더 크게 잡아야 했음...
한참 헤메다가 해결...
언제쯤 삽질을 조금만 할 수있을까...
===========================================================================================
주로 배열사용에 있어서 에러가 발생함...
char szTemp[10] = {0,};
char szTest[15] = {0,};
strcpy((LPSTR)szTemp, (LPCSTR)szTest);
===========================================================================================
WORD wTemp[6] = {0,};
WORD wTest[6] = {0,};
int nTemp = 0;
for(int i = 0; i < 7; i++)
{
nTemp = wTemp[i];
if(nTemp > 0)
{
return;
}
wTemp[i] = wTest[i];
}