summaryrefslogtreecommitdiff
path: root/source3/passdb/pdb_tdb.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-06-28 00:50:14 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:19:01 -0500
commitd1014c1cdfce116741ddd6eccd65b69530ce0b84 (patch)
tree04ba00b02632484f2492f979229b76e06bc92141 /source3/passdb/pdb_tdb.c
parent5a1a08d4286b85252233517373cad75a355b05a7 (diff)
downloadsamba-d1014c1cdfce116741ddd6eccd65b69530ce0b84.tar.gz
samba-d1014c1cdfce116741ddd6eccd65b69530ce0b84.tar.bz2
samba-d1014c1cdfce116741ddd6eccd65b69530ce0b84.zip
r16582: Fix Klocwork #1997 and all generic class of problems
where we don't correctly check the return from memdup. Jeremy. (This used to be commit ce14daf51c7ee2f9c68c77f7f4674e6f0e35c9ca)
Diffstat (limited to 'source3/passdb/pdb_tdb.c')
-rw-r--r--source3/passdb/pdb_tdb.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/passdb/pdb_tdb.c b/source3/passdb/pdb_tdb.c
index 0dc46bec2d..94be32162c 100644
--- a/source3/passdb/pdb_tdb.c
+++ b/source3/passdb/pdb_tdb.c
@@ -902,6 +902,12 @@ static int tdbsam_traverse_setpwent(TDB_CONTEXT *t, TDB_DATA key, TDB_DATA data,
/* save a copy of the key */
ptr->key.dptr = memdup( key.dptr, key.dsize );
+ if (!ptr->key.dptr) {
+ DEBUG(0,("tdbsam_traverse_setpwent: memdup failed\n"));
+ /* just return 0 and let the traversal continue */
+ return 0;
+ }
+
ptr->key.dsize = key.dsize;
DLIST_ADD( tdbsam_pwent_list, ptr );