summaryrefslogtreecommitdiffstats
path: root/source3/smbd/lanman.c
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@samba.org>2014-10-06 18:21:18 +0200
committerJeremy Allison <jra@samba.org>2014-10-06 21:41:22 +0200
commit8cc41b027769b659d1b1503f0fd33ca7d3c3eb9b (patch)
treed7059c331c399dcc81669e2f7baeb80a2f8b1260 /source3/smbd/lanman.c
parent3c854657531ac73ce5e3148e35844e3c8130fe37 (diff)
downloadsamba-8cc41b027769b659d1b1503f0fd33ca7d3c3eb9b.tar.gz
samba-8cc41b027769b659d1b1503f0fd33ca7d3c3eb9b.tar.xz
samba-8cc41b027769b659d1b1503f0fd33ca7d3c3eb9b.zip
lanman: don't leak cache_path onto talloc tos
Also check for allocation failures. Reported-by: Franz Pförtsch <franz.pfoertsch@brose.com> Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Mon Oct 6 21:41:22 CEST 2014 on sn-devel-104
Diffstat (limited to 'source3/smbd/lanman.c')
-rw-r--r--source3/smbd/lanman.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/source3/smbd/lanman.c b/source3/smbd/lanman.c
index ac4873decc..641f161f76 100644
--- a/source3/smbd/lanman.c
+++ b/source3/smbd/lanman.c
@@ -1226,12 +1226,19 @@ static int get_session_info(uint32 servertype,
char **lines;
bool local_list_only;
int i;
+ char *slist_cache_path = cache_path(SERVER_LIST);
+ if (slist_cache_path == NULL) {
+ return 0;
+ }
- lines = file_lines_load(cache_path(SERVER_LIST), NULL, 0, NULL);
+ lines = file_lines_load(slist_cache_path, NULL, 0, NULL);
if (!lines) {
- DEBUG(4,("Can't open %s - %s\n",cache_path(SERVER_LIST),strerror(errno)));
+ DEBUG(4, ("Can't open %s - %s\n",
+ slist_cache_path, strerror(errno)));
+ TALLOC_FREE(slist_cache_path);
return 0;
}
+ TALLOC_FREE(slist_cache_path);
/* request for everything is code for request all servers */
if (servertype == SV_TYPE_ALL) {