위험한 gets 사용

위험한 gets 사용

설명

gets는 입력 길이를 제한할 수 없어 목적지 버퍼를 쉽게 초과합니다.

잠재적 영향

  • 스택 버퍼 오버플로, 크래시, 코드 실행 가능성이 있습니다.

해결 방법

fgets처럼 목적지 버퍼 크기를 받는 API를 사용하세요.

예시

변경 전

c
char buf[32];
gets(buf);

변경 후

c
char buf[32];
fgets(buf, sizeof(buf), stdin);

설명:

  • 변경 전: 입력 길이 제한 없이 버퍼에 씁니다.
  • 변경 후: 목적지 배열 크기를 제한으로 전달합니다.

참조