Compare commits
2 Commits
91470851cd
...
702cc0442c
Author | SHA1 | Date | |
---|---|---|---|
702cc0442c | |||
2ca20c1a1e |
@ -7,7 +7,7 @@
|
|||||||
extern int kernel_start;
|
extern int kernel_start;
|
||||||
extern int kernel_end;
|
extern int kernel_end;
|
||||||
|
|
||||||
static InitRD::File symbol_map = {"", 0, 0, (void*)-1};
|
static InitRD::File symbol_map = {"", 0, 0, (void*)-1, 0};
|
||||||
|
|
||||||
static size_t symbol_strlen(const char* symbol)
|
static size_t symbol_strlen(const char* symbol)
|
||||||
{
|
{
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
static FILE* pwd_file = nullptr;
|
static FILE* pwd_file = nullptr;
|
||||||
|
static FILE* pwnam_file = nullptr;
|
||||||
|
static FILE* pwuid_file = nullptr;
|
||||||
|
|
||||||
static int initialize_pwd(FILE** stream)
|
static int initialize_pwd(FILE** stream)
|
||||||
{
|
{
|
||||||
@ -126,7 +128,6 @@ extern "C"
|
|||||||
|
|
||||||
struct passwd* getpwnam(const char* name)
|
struct passwd* getpwnam(const char* name)
|
||||||
{
|
{
|
||||||
static FILE* pwnam_file = nullptr;
|
|
||||||
if (!pwnam_file)
|
if (!pwnam_file)
|
||||||
{
|
{
|
||||||
if (!initialize_pwd(&pwnam_file)) return NULL;
|
if (!initialize_pwd(&pwnam_file)) return NULL;
|
||||||
@ -149,7 +150,6 @@ extern "C"
|
|||||||
|
|
||||||
struct passwd* getpwuid(uid_t uid)
|
struct passwd* getpwuid(uid_t uid)
|
||||||
{
|
{
|
||||||
static FILE* pwuid_file = nullptr;
|
|
||||||
if (!pwuid_file)
|
if (!pwuid_file)
|
||||||
{
|
{
|
||||||
if (!initialize_pwd(&pwuid_file)) return NULL;
|
if (!initialize_pwd(&pwuid_file)) return NULL;
|
||||||
@ -182,5 +182,15 @@ extern "C"
|
|||||||
fclose(pwd_file);
|
fclose(pwd_file);
|
||||||
pwd_file = nullptr;
|
pwd_file = nullptr;
|
||||||
}
|
}
|
||||||
|
if (pwuid_file)
|
||||||
|
{
|
||||||
|
fclose(pwuid_file);
|
||||||
|
pwuid_file = nullptr;
|
||||||
|
}
|
||||||
|
if (pwnam_file)
|
||||||
|
{
|
||||||
|
fclose(pwnam_file);
|
||||||
|
pwnam_file = nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user