summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-01-24 12:43:53 +0000
committerJeremy Allison <jra@samba.org>1998-01-24 12:43:53 +0000
commit2b857315bd166c234d601fd0e67882a4c44f5191 (patch)
tree54cd10f830d28d951b3c41ba117cf52e98aaec67 /source
parentc5023940995b6d2281fe7b2f85a6377f5ae605e7 (diff)
downloadsamba-2b857315bd166c234d601fd0e67882a4c44f5191.tar.gz
samba-2b857315bd166c234d601fd0e67882a4c44f5191.tar.xz
samba-2b857315bd166c234d601fd0e67882a4c44f5191.zip
Added memory leak fix from Branko Cibej <branko.cibej@hermes.si>, plus
an extre debug message - both in free_service(). Jeremy.
Diffstat (limited to 'source')
-rw-r--r--source/param/loadparm.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/source/param/loadparm.c b/source/param/loadparm.c
index ac0f932faed..d2db90fd678 100644
--- a/source/param/loadparm.c
+++ b/source/param/loadparm.c
@@ -1074,9 +1074,19 @@ static void free_service(service *pservice)
if (!pservice)
return;
+ if(pservice->szService)
+ DEBUG(5,("free_service: Freeing service %s\n", pservice->szService));
+
+ string_free(&pservice->szService);
+ if (pservice->copymap)
+ {
+ free(pservice->copymap);
+ pservice->copymap = NULL;
+ }
+
for (i=0;parm_table[i].label;i++)
if ((parm_table[i].type == P_STRING ||
- parm_table[i].type == P_STRING) &&
+ parm_table[i].type == P_USTRING) &&
parm_table[i].class == P_LOCAL)
string_free((char **)(((char *)pservice) + PTR_DIFF(parm_table[i].ptr,&sDefault)));
}