gets 함수는 C언어에서 문자열을 입력받을 때 사용되었던 함수이다. 표준 입력(stdin)을 통해 문자열을 읽어와 사용자가 제공한 버퍼에 저장하는 간단한 기능을 한다. 예전에는 사용자로부터 데이터를 쉽게 받을 수 있는 방법으로 많이 사용되었으나, 그 과정에서 심각한 보안 문제가 있는 것이 밝혀졌다. 고1 때 C로 알고리즘을 풀며 gets를 사용했던 기억이 있다. 버퍼 오버플로우 위험gets 함수의 가장 큰 문제는 버퍼 크기 제한이 없다는 것이다. 사용자가 입력할 데이터의 길이를 제한하지 않기 때문에, 할당된 버퍼 크기를 초과하는 입력을 받을 경우 버퍼 오버플로우가 발생할 수 있다. 이는 메모리 상의 다른 데이터 영역을 덮어쓰게 되어 프로그램의 정상적인 동작을 방해하거나 예기치 않은 행동을 유발할 수 있..