From: Pavel Filipenský Date: Thu, 11 Aug 2022 08:39:37 +0000 (+0200) Subject: s3:passdb: Fix possible memory leak in secrets_fetch_ipc_userpass() X-Git-Tag: talloc-2.4.0~1307 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2578eb3b5e2c202e51c8263cd660ba8626503405;p=thirdparty%2Fsamba.git s3:passdb: Fix possible memory leak in secrets_fetch_ipc_userpass() If domain or username are empty strings (""), we need to free them. Signed-off-by: Pavel Filipenský Reviewed-by: Andreas Schneider --- diff --git a/source3/passdb/secrets.c b/source3/passdb/secrets.c index 0ad216aaf4e..e88158fb69a 100644 --- a/source3/passdb/secrets.c +++ b/source3/passdb/secrets.c @@ -469,8 +469,10 @@ void secrets_fetch_ipc_userpass(char **username, char **domain, char **password) if (*username && **username) { - if (!*domain || !**domain) + if (!*domain || !**domain) { + SAFE_FREE(*domain); *domain = smb_xstrdup(lp_workgroup()); + } if (!*password || !**password) { BURN_FREE_STR(*password); @@ -482,6 +484,8 @@ void secrets_fetch_ipc_userpass(char **username, char **domain, char **password) } else { DEBUG(3, ("IPC$ connections done anonymously\n")); + SAFE_FREE(*username); + SAFE_FREE(*domain); BURN_FREE_STR(*password); *username = smb_xstrdup(""); *domain = smb_xstrdup("");