경로 확인을 위해 openat()을 사용하면 어떤 단점이 있습니까?

경로 확인을 위해 openat()을 사용하면 어떤 단점이 있습니까?

매뉴얼 페이지에는 openat(2)에 비해 많은 장점이 설명되어 있지만 open(2)단점은 전혀 다루지 않는 것 같습니다.

C에서 경로를 수동으로 연결하는 것은 어려울 수 있으므로(불행히도 POSIX의 일부가 아닌 대부분의 할당 논리를 원하지 않거나 오프로드할 수 없다고 가정할 때 asprintf(3)), 이에 대한 파일 설명자를 구할 생각입니다. 기본 디렉토리를 만들고 이를 사용하여 이 디렉토리와 관련된 파일에 액세스합니다 openat(2).

이 접근 방식에 단점이 있나요?

답변1

한 가지 단점이 있습니다. openat이 방법을 사용하려면 추가 파일 설명자가 필요합니다.

내가 아는 한 이것이 유일한 것입니다(제 생각에는 사소한 것입니다).

관련 정보