From 84786c83054731b8fc304289dfea7c6d0e40148c Mon Sep 17 00:00:00 2001 From: David Disseldorp Date: Tue, 25 Oct 2016 18:25:02 +0200 Subject: [PATCH] libsmb: fix leak in opendir error path Fixes CID 242325 - dir state and the talloc frame are leaked on user_auth_info_init() failure. Signed-off-by: David Disseldorp Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Wed Oct 26 00:58:41 CEST 2016 on sn-devel-144 --- source3/libsmb/libsmb_dir.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source3/libsmb/libsmb_dir.c b/source3/libsmb/libsmb_dir.c index dd37a247d27..8bf3c6b8efc 100644 --- a/source3/libsmb/libsmb_dir.c +++ b/source3/libsmb/libsmb_dir.c @@ -485,6 +485,12 @@ SMBC_opendir_ctx(SMBCCTX *context, u_info = user_auth_info_init(frame); if (u_info == NULL) { + if (dir) { + SAFE_FREE(dir->fname); + SAFE_FREE(dir); + } + TALLOC_FREE(frame); + errno = ENOMEM; return NULL; } set_cmdline_auth_info_username(u_info, user); -- 2.11.4.GIT