summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Barden <mbarden@tintri.com>2022-09-27 16:56:41 -0400
committerMatt Barden <mbarden@tintri.com>2022-11-04 20:05:25 -0400
commit549ab26f262a63e8892b99d530a98fea6423ad63 (patch)
treecee53c1f3bb51318cbc14c318db6afa13c4d6ebe
parent56a2adb63cd7b5ba73bb3f0fb3930b2d2730513e (diff)
downloadillumos-gate-549ab26f262a63e8892b99d530a98fea6423ad63.tar.gz
15084 SMBD leaks memory during startup/refresh
Reviewed by: Andrew Stormont <andyjstormont@gmail.com> Reviewed by: Gordon Ross <Gordon.W.Ross@gmail.com> Reviewed by: Marco van Wieringen <mvw@planets.elm.net> Approved by: Dan McDonald <danmcd@mnx.io>
-rw-r--r--usr/src/lib/libshare/common/libsharecore.c3
-rw-r--r--usr/src/lib/smbsrv/libsmb/common/smb_cfg.c12
-rw-r--r--usr/src/lib/smbsrv/libsmbns/common/smbns_ads.c3
3 files changed, 8 insertions, 10 deletions
diff --git a/usr/src/lib/libshare/common/libsharecore.c b/usr/src/lib/libshare/common/libsharecore.c
index c15291d19d..9f08c0c220 100644
--- a/usr/src/lib/libshare/common/libsharecore.c
+++ b/usr/src/lib/libshare/common/libsharecore.c
@@ -21,7 +21,7 @@
/*
* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
+ * Copyright 2022 Tintri by DDN, Inc. All rights reserved.
* Copyright (c) 2016 by Delphix. All rights reserved.
*/
@@ -1604,7 +1604,6 @@ parse_sharetab(sa_handle_t handle)
sa_group_t lgroup;
xfs_sharelist_t *list = get_share_list(&err);
- list = get_share_list(&err);
if (list == NULL)
return (legacy);
diff --git a/usr/src/lib/smbsrv/libsmb/common/smb_cfg.c b/usr/src/lib/smbsrv/libsmb/common/smb_cfg.c
index 88890f4f8c..b295916cb3 100644
--- a/usr/src/lib/smbsrv/libsmb/common/smb_cfg.c
+++ b/usr/src/lib/smbsrv/libsmb/common/smb_cfg.c
@@ -20,7 +20,7 @@
*/
/*
* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2020 Tintri by DDN, Inc. All rights reserved.
+ * Copyright 2022 Tintri by DDN, Inc. All rights reserved.
* Copyright 2021 RackTop Systems, Inc.
*/
@@ -904,6 +904,7 @@ int
smb_config_get_localuuid(uuid_t uu)
{
char *s;
+ int rc = 0;
uuid_clear(uu);
s = smb_config_getenv_generic(MACHINE_UUID, IDMAP_FMRI_PREFIX,
@@ -911,12 +912,11 @@ smb_config_get_localuuid(uuid_t uu)
if (s == NULL)
return (-1);
- if (uuid_parse(s, uu) < 0) {
- free(s);
- return (-1);
- }
+ if (uuid_parse(s, uu) < 0)
+ rc = -1;
- return (0);
+ free(s);
+ return (rc);
}
static int
diff --git a/usr/src/lib/smbsrv/libsmbns/common/smbns_ads.c b/usr/src/lib/smbsrv/libsmbns/common/smbns_ads.c
index 0a07771985..66a187abbb 100644
--- a/usr/src/lib/smbsrv/libsmbns/common/smbns_ads.c
+++ b/usr/src/lib/smbsrv/libsmbns/common/smbns_ads.c
@@ -20,7 +20,7 @@
*/
/*
* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2019 Nexenta by DDN, Inc. All rights reserved.
+ * Copyright 2022 Tintri by DDN, Inc. All rights reserved.
* Copyright 2021 RackTop Systems, Inc.
*/
@@ -482,7 +482,6 @@ again:
(void) mutex_lock(&smb_ads_cached_host_mtx);
if (!smb_ads_cached_host_info)
smb_ads_cached_host_info = smb_ads_dup_host_info(host);
- host = smb_ads_dup_host_info(smb_ads_cached_host_info);
(void) mutex_unlock(&smb_ads_cached_host_mtx);
out: