free_service() was never setting the valid field to False. This is a bug
authorJeremy Allison <jra@samba.org>
Thu, 10 May 2001 20:58:38 +0000 (20:58 +0000)
committerJeremy Allison <jra@samba.org>
Thu, 10 May 2001 20:58:38 +0000 (20:58 +0000)
that's been here since 2.0.x and before.... This would cause a memleak.
Jeremy.

source/param/loadparm.c

index c843489596763b69fe296e3f9114f15fc9a8949c..8888c45933d778531ab1ea5d9e296212f9f79103 100644 (file)
@@ -1740,6 +1740,8 @@ static void free_service(service * pservice)
                pservice->copymap = NULL;
        }
 
+       pservice->valid = False;
+
        for (i = 0; parm_table[i].label; i++)
                if ((parm_table[i].type == P_STRING ||
                     parm_table[i].type == P_USTRING) &&