diff options
author | Jeremy Allison <jra@samba.org> | 2006-06-28 00:50:14 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:19:01 -0500 |
commit | d1014c1cdfce116741ddd6eccd65b69530ce0b84 (patch) | |
tree | 04ba00b02632484f2492f979229b76e06bc92141 /source3/passdb | |
parent | 5a1a08d4286b85252233517373cad75a355b05a7 (diff) | |
download | samba-d1014c1cdfce116741ddd6eccd65b69530ce0b84.tar.gz samba-d1014c1cdfce116741ddd6eccd65b69530ce0b84.tar.xz 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')
-rw-r--r-- | source3/passdb/pdb_tdb.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/passdb/pdb_tdb.c b/source3/passdb/pdb_tdb.c index 0dc46bec2d0..94be32162c5 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 ); |