diff options
author | Jeremy Allison <jra@samba.org> | 2003-05-14 20:48:45 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2003-05-14 20:48:45 +0000 |
commit | 430d12876bd0df52f85fc5a905a106e6db38e4c0 (patch) | |
tree | 2c4e2b2deca89489e6c9ae62b9eaf5dc12c7f068 /source3 | |
parent | 1124804f5d0ea5bdd0fbbb3bb09393ac65db4150 (diff) | |
download | samba-430d12876bd0df52f85fc5a905a106e6db38e4c0.tar.gz samba-430d12876bd0df52f85fc5a905a106e6db38e4c0.tar.bz2 samba-430d12876bd0df52f85fc5a905a106e6db38e4c0.zip |
Fix winbindd coredump. Remember to set a ** pointer to null before
searching and not finding otherwise we return a valid looking pointer
that was whatever crap was on the stack.
Jeremy.
(This used to be commit b6e78900175d4362f3a4d0216aa635931a0c11e9)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/nsswitch/winbindd_cm.c | 2 | ||||
-rw-r--r-- | source3/smbd/connection.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/source3/nsswitch/winbindd_cm.c b/source3/nsswitch/winbindd_cm.c index dbcfdcf88f..02fd15e069 100644 --- a/source3/nsswitch/winbindd_cm.c +++ b/source3/nsswitch/winbindd_cm.c @@ -450,6 +450,8 @@ static NTSTATUS get_connection_from_cache(const char *domain, const char *pipe_n struct winbindd_cm_conn *conn, conn_temp; NTSTATUS result; + *conn_out = NULL; + for (conn = cm_conns; conn; conn = conn->next) { if (strequal(conn->domain, domain) && strequal(conn->pipe_name, pipe_name)) { diff --git a/source3/smbd/connection.c b/source3/smbd/connection.c index 5547309a81..c2718d4d70 100644 --- a/source3/smbd/connection.c +++ b/source3/smbd/connection.c @@ -38,6 +38,7 @@ TDB_CONTEXT *conn_tdb_ctx(void) static void make_conn_key(connection_struct *conn, const char *name, TDB_DATA *pkbuf, struct connections_key *pkey) { ZERO_STRUCTP(pkey); + ZERO_STRUCTP(pkbuf); pkey->pid = sys_getpid(); pkey->cnum = conn?conn->cnum:-1; fstrcpy(pkey->name, name); |