diff options
author | Andrew Bartlett <abartlet@samba.org> | 2003-04-23 00:56:06 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2003-04-23 00:56:06 +0000 |
commit | 93bdd1a2925edb9dea3e85d8b025a65460896c05 (patch) | |
tree | 4414669e4b29992722e544b99e18595c310c68be /source/passdb | |
parent | fdacad185c4f78958d56bccbd69a0f2628f1b792 (diff) | |
download | samba-93bdd1a2925edb9dea3e85d8b025a65460896c05.tar.gz samba-93bdd1a2925edb9dea3e85d8b025a65460896c05.tar.xz samba-93bdd1a2925edb9dea3e85d8b025a65460896c05.zip |
Merge idra's fix for pdb_tdb segfaults from HEAD to 3.0 - sombody changed
unix_strlower semantics.
Andrew Bartlett
Diffstat (limited to 'source/passdb')
-rw-r--r-- | source/passdb/pdb_tdb.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source/passdb/pdb_tdb.c b/source/passdb/pdb_tdb.c index 7e2f4b832f4..3a1702a4e07 100644 --- a/source/passdb/pdb_tdb.c +++ b/source/passdb/pdb_tdb.c @@ -585,8 +585,10 @@ static NTSTATUS tdbsam_getsampwnam (struct pdb_methods *my_methods, SAM_ACCOUNT return nt_status; } + /* Data is stored in all lower-case */ - unix_strlower(sname, -1, name, sizeof(name)); + fstrcpy(name, sname); + strlower(name); /* set search key */ slprintf(keystr, sizeof(keystr)-1, "%s%s", USERPREFIX, name); @@ -692,7 +694,8 @@ static NTSTATUS tdbsam_delete_sam_account(struct pdb_methods *my_methods, SAM_AC uint32 rid; fstring name; - unix_strlower(pdb_get_username(sam_pass), -1, name, sizeof(name)); + fstrcpy(name, pdb_get_username(sam_pass)); + strlower(name); /* open the TDB */ if (!(pwd_tdb = tdb_open_log(tdb_state->tdbsam_location, 0, TDB_DEFAULT, O_RDWR, 0600))) { @@ -826,7 +829,8 @@ static BOOL tdb_update_sam(struct pdb_methods *my_methods, SAM_ACCOUNT* newpwd, } data.dptr = buf; - unix_strlower(pdb_get_username(newpwd), -1, name, sizeof(name)); + fstrcpy(name, pdb_get_username(newpwd)); + strlower(name); DEBUG(5, ("Storing %saccount %s with RID %d\n", flag == TDB_INSERT ? "(new) " : "", name, user_rid)); |