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