[devel] Нужно ли вызывать endpwent() после использования getpwuid() ?
Slava Semushin
slava.semushin на gmail.com
Пн Фев 26 16:32:03 MSK 2007
Здравствуйте!
Листал тут на работе книжку от O'Reilly "Secure Programming Book for C
and C++" и увидел такой пример:
%%
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
#include <pwd.h>
int main(int argc, char *argv[]) {
uid_t uid;
struct passwd *pwd;
uid = getuid();
printf("User's UID is %d.\n", (int)uid);
if ( ! (pwd = getpwuid(uid))) {
printf("Unable to get user's password file record!\n");
endpwent();
return 1;
}
printf("User's home directory is %s\n", pwd->pw_dir);
endpwent();
return 0;
}
%%
Собственно, привлёк внимание факт вызова endpwent(). Почитал ман к
Линуксу, к Нетке, ещё каких-то в интернете и не очень понял,
действительно ли нужно после вызова getpwuid() вызывать endpwent().
Пожалуйста, разъясните этот момент, ведь если я правильно понял, то
невызов endpwent() чреват утечкой файлового дескриптора.
Заранее спасибо!
--
+ Slava Semushin | slava.semushin @ gmail.com
+ ALT Linux Team | php-coder @ altlinux.ru
Подробная информация о списке рассылки Devel