mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-28 00:21:52 +03:00
nss_db allows for getpwent et al to be called without a set*ent, but it only works once. After the last get*ent a set*ent is required to restart, because the end*ent did not properly reset the module. Resetting it to NULL allows for a proper restart. If the database doesn't exist, however, end*ent erroniously called munmap which set errno. The test case runs "makedb" inside the testroot, so needs selinux DSOs installed.
This commit is contained in:
@ -63,5 +63,9 @@ internal_setent (const char *file, struct nss_db_map *mapping)
|
||||
void
|
||||
internal_endent (struct nss_db_map *mapping)
|
||||
{
|
||||
munmap (mapping->header, mapping->len);
|
||||
if (mapping->header != NULL)
|
||||
{
|
||||
munmap (mapping->header, mapping->len);
|
||||
mapping->header = NULL;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user