summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorawalker <awalker@ixsystems.com>2020-04-06 15:50:41 -0400
committerAndreas Schneider <asn@cryptomilk.org>2020-05-13 17:34:43 +0000
commit84c7eb4787d4bd9b4326570030ac088609c1389f (patch)
treea976768d49e51b5ff6fe921398e7573f6bc59ba1 /lib
parent6e419dda718cdb931f1d7d30926ed418a169415f (diff)
downloadsamba-84c7eb4787d4bd9b4326570030ac088609c1389f.tar.gz
lib:param: Fix memory leak in lpcfg_load_internal()
Signed-off-by: awalker <awalker@ixsystems.com> Reviewed-by: Ralph Boehme <slow@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Wed May 13 17:34:43 UTC 2020 on sn-devel-184
Diffstat (limited to 'lib')
-rw-r--r--lib/param/loadparm.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 777999a3a76..d00ed9dca43 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -3229,9 +3229,12 @@ static bool lpcfg_load_internal(struct loadparm_context *lp_ctx,
char *n2;
bool bRetval;
- filename = talloc_strdup(lp_ctx, filename);
+ if (lp_ctx->szConfigFile != NULL) {
+ talloc_free(discard_const_p(char, lp_ctx->szConfigFile));
+ lp_ctx->szConfigFile = NULL;
+ }
- lp_ctx->szConfigFile = filename;
+ lp_ctx->szConfigFile = talloc_strdup(lp_ctx, filename);
if (lp_ctx->s3_fns) {
return lp_ctx->s3_fns->load(filename);