4.1. 표준 라이브러리 호출에 유의하기

일반적으로 권한 부여 응용을 작성하는 사람은 각 모듈이 어떤 'libc' 함수도 호출할 수 있다고 가정해야 한다. 정적/동적 할당 구조체에 대한 포인터를 반환하는 (즉 라이브러리에서 메모리를 할당하고 사용자가 그 메모리를 'free()' 할 필요 없는) 'libc' 함수의 경우, 모듈에서 그 함수를 호출하면 응용에서 앞서 얻은 포인터가 유효하지 않게 될 가능성이 높다. 응용 프로그래머는 Linux-PAM 라이브러리 호출 후에 그런 'libc' 함수를 재호출하거나, 아니면 Linux-PAM 라이브러리로 제어를 넘기기 전에 그 구조체 내용을 어떤 안전한 영역으로 복사해 둬야 한다.

여기 해당하는 두 가지 중요한 함수 유형으로 getpwnam(3)syslog(3)가 있다.