From: Stefan Metzmacher Date: Tue, 28 Nov 2017 07:16:03 +0000 (+0100) Subject: s3:smbd: fix SAFE_FREE() vs. TALLOC_FREE() in list_sessions() X-Git-Tag: tdb-1.4.1~606 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4c6156eddd1ce38ef7c23b0eab300da9badf3f4e;p=thirdparty%2Fsamba.git s3:smbd: fix SAFE_FREE() vs. TALLOC_FREE() in list_sessions() It's very unlikely that sessionid_traverse_read() fails, but we should not segfault. Signed-off-by: Stefan Metzmacher Reviewed-by: Ralph Boehme Reviewed-by: Jeremy Allison --- diff --git a/source3/smbd/session.c b/source3/smbd/session.c index 8b4c6609304..abc799105f0 100644 --- a/source3/smbd/session.c +++ b/source3/smbd/session.c @@ -179,8 +179,8 @@ int list_sessions(TALLOC_CTX *mem_ctx, struct sessionid **session_list) status = sessionid_traverse_read(gather_sessioninfo, (void *) &sesslist); if (!NT_STATUS_IS_OK(status)) { - DEBUG(3, ("Session traverse failed\n")); - SAFE_FREE(sesslist.sessions); + DBG_ERR("Session traverse failed: %s\n", nt_errstr(status)); + TALLOC_FREE(sesslist.sessions); *session_list = NULL; return 0; }