pwsusc10   9달 전

alpabat 배열이 잘못된 데이터를 읽고 있으며 버퍼오버런이 발생했다는데 데이터를 잘못읽고 버퍼오버런이 발생하는지 모르겠습니다.
배열을 선언할 때 배열의 크기도 제한이 있나요??

djm03178   9달 전

alpabat의 크기가 26이니 26번째 인덱스는 존재하지 않는데 44번째 줄의 루프는 26까지 돌고 있습니다.

그리고 alpabat이 아니라 alphabet입니다.

pwsusc10   9달 전

alphabet 배열은 문자열이 아니라 int 배열인데도 마지막 인덱스에 NULL로 채워지나요??

djm03178   9달 전

NULL이란 게 별 게 아니라 그냥 0이고, 초기화를 할 때 값을 대입하지 않은 부분은 0으로 초기화됩니다. 그런데 답변과는 아무 상관이 없는 내용이네요.

pwsusc10   9달 전

아,,,,, 이제야 이해갔습니다. 감사합니다.

코드를 다음과 같이 고쳤는데 28번째 줄에 C6385 C6386의 경고가 발생합니다.

작동은 잘하지만 alphabet에서 잘못된 데이터를 읽고 alphabet에 쓰는 동안 버퍼 오버런이 발생했다는데 그이유를 잘 모르겠습니다..
혹시 알려주실 수 있나요?

djm03178   9달 전

제가 보기엔 문제가 없어보이고, 제 비주얼 스튜디오에서도 그런 경고는 발생하지 않네요.

찾아보기에는 컴파일러가 분석을 하는 과정에서 오류가 있었나 봅니다.

https://developercommunity.visualstudio.com/content/problem/405385/code-analysis-false-positive-c6386.html

https://developercommunity.visualstudio.com/content/problem/390482/false-alert-detecting-warning-c6385.html

pwsusc10   9달 전

정말 감사합니다!!

댓글을 작성하려면 로그인해야 합니다.