summaryrefslogtreecommitdiff
path: root/source3/utils
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2002-05-22 12:44:45 +0000
committerAndrew Bartlett <abartlet@samba.org>2002-05-22 12:44:45 +0000
commitb87eee983612c0d21b0c6f1346ba15ace797fe9e (patch)
tree24e2b36dfad85d014754e1ed08cb3d3b74704f24 /source3/utils
parentdaec6cbbeee8401ef1aa0a3424ee05a3148d7ec8 (diff)
downloadsamba-b87eee983612c0d21b0c6f1346ba15ace797fe9e.tar.gz
samba-b87eee983612c0d21b0c6f1346ba15ace797fe9e.tar.bz2
samba-b87eee983612c0d21b0c6f1346ba15ace797fe9e.zip
Add a bit more const, and kill of (finally!) sys_getpwnam and sys_getpwuid.
These might be reimplmented as simple pass-through functions, but all users really should be doing 'getpwnam_alloc' or 'getpwuid_alloc' to ensure that there are not shared static buffers. I don't beleive we actually need a getpw*() cache inside samba - if we do then I think we should look at our code design first. (some of these changes are for platforms I don't have access to, but they look sane) Andrew Bartlett (This used to be commit 9d8431b04f41dceffe4c45cc969472ee59f7282f)
Diffstat (limited to 'source3/utils')
-rw-r--r--source3/utils/smbpasswd.c6
-rw-r--r--source3/utils/status.c4
2 files changed, 6 insertions, 4 deletions
diff --git a/source3/utils/smbpasswd.c b/source3/utils/smbpasswd.c
index 5d219b6907..70bf551edb 100644
--- a/source3/utils/smbpasswd.c
+++ b/source3/utils/smbpasswd.c
@@ -367,8 +367,9 @@ static int process_root(int local_flags)
load_interfaces();
}
- if (!user_name[0] && (pwd = sys_getpwuid(geteuid()))) {
+ if (!user_name[0] && (pwd = getpwuid_alloc(geteuid()))) {
fstrcpy(user_name, pwd->pw_name);
+ passwd_free(&pwd);
}
if (!user_name[0]) {
@@ -504,9 +505,10 @@ static int process_nonroot(int local_flags)
}
if (!user_name[0]) {
- pwd = sys_getpwuid(getuid());
+ pwd = getpwuid_alloc(getuid());
if (pwd) {
fstrcpy(user_name,pwd->pw_name);
+ passwd_free(&pwd);
} else {
fprintf(stderr, "smbpasswd: you don't exist - go away\n");
exit(1);
diff --git a/source3/utils/status.c b/source3/utils/status.c
index 7755ce9ab4..f230cd8466 100644
--- a/source3/utils/status.c
+++ b/source3/utils/status.c
@@ -61,14 +61,14 @@ static int show_brl;
/* added by OH */
-static void Ucrit_addUsername(char *username)
+static void Ucrit_addUsername(const char *username)
{
pstrcpy(Ucrit_username, username);
if(strlen(Ucrit_username) > 0)
Ucrit_IsActive = 1;
}
-static unsigned int Ucrit_checkUsername(char *username)
+static unsigned int Ucrit_checkUsername(const char *username)
{
if ( !Ucrit_IsActive) return 1;
if (strcmp(Ucrit_username,username) ==0) return 1;