summaryrefslogtreecommitdiff
path: root/source3/passdb/pdb_tdb.c
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2006-03-20 10:18:23 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:15:37 -0500
commit5aa66fd0393318586edb5ee17e5cad2236aa5c8b (patch)
tree8b27d1ef599353fb459a98d874be0da7d84b5e29 /source3/passdb/pdb_tdb.c
parent492af5e91857fa27f68758354a3e35afcc84c238 (diff)
downloadsamba-5aa66fd0393318586edb5ee17e5cad2236aa5c8b.tar.gz
samba-5aa66fd0393318586edb5ee17e5cad2236aa5c8b.tar.bz2
samba-5aa66fd0393318586edb5ee17e5cad2236aa5c8b.zip
r14577: BUG Fixes:
* Add back in the import/export support to pdbedit * Fix segv in pam_smbpass * Cleanup some error paths in pdb_tdb and pdb_interface (This used to be commit df53d64910fbb96eb810102e986b3c337d54c463)
Diffstat (limited to 'source3/passdb/pdb_tdb.c')
-rw-r--r--source3/passdb/pdb_tdb.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/source3/passdb/pdb_tdb.c b/source3/passdb/pdb_tdb.c
index 0bab02343e..b7161ff589 100644
--- a/source3/passdb/pdb_tdb.c
+++ b/source3/passdb/pdb_tdb.c
@@ -1006,7 +1006,6 @@ static NTSTATUS tdbsam_getsampwent(struct pdb_methods *my_methods, struct samu *
static NTSTATUS tdbsam_getsampwnam (struct pdb_methods *my_methods, struct samu *user, const char *sname)
{
- NTSTATUS result;
TDB_DATA data, key;
fstring keystr;
fstring name;
@@ -1039,8 +1038,8 @@ static NTSTATUS tdbsam_getsampwnam (struct pdb_methods *my_methods, struct samu
DEBUG(5,("pdb_getsampwnam (TDB): error fetching database.\n"));
DEBUGADD(5, (" Error: %s\n", tdb_errorstr(tdbsam)));
DEBUGADD(5, (" Key: %s\n", keystr));
- result = NT_STATUS_NO_SUCH_USER;
- goto done;
+ tdbsam_close();
+ return NT_STATUS_NO_SUCH_USER;
}
/* unpack the buffer */
@@ -1048,17 +1047,16 @@ static NTSTATUS tdbsam_getsampwnam (struct pdb_methods *my_methods, struct samu
if (!init_sam_from_buffer(user, (unsigned char *)data.dptr, data.dsize)) {
DEBUG(0,("pdb_getsampwent: Bad struct samu entry returned from TDB!\n"));
SAFE_FREE(data.dptr);
- result = NT_STATUS_NO_MEMORY;
- goto done;
+ tdbsam_close();
+ return NT_STATUS_NO_MEMORY;
}
- result = NT_STATUS_OK;
+ /* success */
- done:
SAFE_FREE(data.dptr);
tdbsam_close();
- return result;
+ return NT_STATUS_OK;
}
/***************************************************************************