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];
 }

안정적인 DNS서비스 DNSEver DNS server, DNS service
Posted by 키르히아이스

댓글을 달아 주세요