2017년 3월 10일 금요일

코딩 삽질 노트 - scanf 와 scanf_s 의 차이점

Visual studio를 깔고 새로운 프로젝트를 만들떄, SDL 설정을 켜두고 소스를 작성하다가
scanf에서 자꾸 애러가났엇다... 뭐지하고봤는대 SDL설정을 켜두면 scanf_s로 써야하더라
근대 scanf와 scanf_s 차이가 뭐길래 이런오류가 나나 싶었는대
지정된 버퍼의 크기보다 더 많은 버퍼의 크기를 입력시키면 원하는 주소에 데이터를 집어넣을수있다한다.. 근대 scanf에서는 이러한 오류를 처리해주지 않아 할당된 주소 외의 원하는 주소에 원하는값을 지정할수있게되버리므로 보안에 매우 취약해진다고한다.
이를 버퍼오버플로우라고도 한다 구글이알려주더라 ㅇㅂㅇ...
그래서 scanf_s는 그걸 처리못하는 scanf를 고친버전이라고 생각하면되갯다 ㅋ

댓글 없음:

댓글 쓰기