FIO
Input Output (FIO) - 입출력
파일 입출력에 관련된 내용을 다루는 카테고리입니다.
파일 조작 시의 안전한 접근 방법과 오류 처리에 대한 규칙이 포함되어 있습니다.
Rule Number |
Rule Definition | 설명 |
FIO08-C | 열려 있는 파일에서 remove() 함수를 호출할 때 주의하세요. | 열린 파일에 대해 remove() 함수를 호출하는 것은 구현에 따라 정의됩니다. 공격받기 쉬운 임시 파일의 이름을 숨기기 위해 열려 있는 파일을 제거하는 것이 권장되는 경우도 있습니다. (FIO21-C를 참고하세요. 공유 디렉터리에 임시 파일을 생성하지 마세요.) 열린 파일을 제거해야 하는 경우 POSIX unlink() 함수와 같이 보다 강력하게 정의된 함수를 고려해야 합니다. 엄격하게 준수하고 이식 가능하려면 열려 있는 파일에 대해 remove() 함수를 호출하면 안 됩니다. |
FIO11-C | fopen()의 모드 매개변수를 지정할 때 주의하세요. | C 표준은 fopen() 및 fopen_s() 호출 시 모드에 사용할 특정 문자열을 식별합니다. C11은 열려는 파일이 존재하는지 확인하는 데 필요한 메커니즘을 제공하는 새로운 모드 플래그 x를 제공합니다. 엄격하게 준수하고 이식 가능하려면 다음 표의 문자열 중 하나(C 표준, 하위 절 7.21.5.2 [ISO/IEC 9899:2011]에서 수정)를 사용해야 합니다. |
FIO34-C | 파일에서 읽은 문자와 EOF 또는 WEOF를 구별합니다. | EOF 매크로는 파일에서 데이터를 읽을 때 파일이 모두 소모되어 데이터가 남아 있지 않음을 나타내는 데 사용되는 음수 값을 나타냅니다. EOF는 in-band error indicator의 예입니다. in-band error indicator는 작업에 문제가 있으며 ERR02-C에서는 새로운 in-band 오류 표시기 생성을 권장하지 않습니다. in-band error indicator를 피하십시오. |
FIO38-C | FILE 객체를 복사하지 마세요. | C 표준, 7.21.3, 단락 6 [ISO/IEC 9899:2011]에 따르면, 스트림을 제어하는 데 사용되는 FILE 개체의 주소는 중요할 수 있습니다. FILE 개체의 복사본이 원본 대신 제공될 필요는 없습니다. |
FIO44-C | fgetpos()에서 반환된 fsetpos()에 대한 값만 사용하십시오. | C 표준 7.21.9.3 [ISO/IEC 9899:2011]은 fsetpos()에 대해 다음 동작을 정의합니다. fsetpos 함수는 pos가 가리키는 객체의 값에 따라 stream이 가리키는 스트림에 대한 mbstate_t 객체(있는 경우)와 파일 위치 표시자를 설정합니다. 이는 동일한 파일과 연관된 스트림에서 fgetpos 함수에 대한 이전의 성공적인 호출에서 얻은 값입니다. |
728x90
'소프트웨어 개발(SW Dev) > Rule(CERT C)' 카테고리의 다른 글
CERT C - SIG 규칙 목 (0) | 2024.11.16 |
---|---|
CERT C - ENV 규칙 목록 (0) | 2024.11.15 |
CERT C - 규칙 목록 (0) | 2024.11.13 |
CERT C - STR 규칙 목록 (0) | 2024.11.12 |
CERT C - ARR 규칙 목록 (0) | 2024.11.11 |
댓글