From: Wilfried Goesgens Date: Sun, 14 Nov 2010 22:08:44 +0000 (+0100) Subject: Memleak: free the nttlist (network host list) on exit X-Git-Tag: v8.01~590 X-Git-Url: https://code.citadel.org/?a=commitdiff_plain;h=cd5451a0e375c6f2b23e59e3fdccd2af2842a8e3;hp=e152b333715749602773cc8bfd7ffef36a24b55c;p=citadel.git Memleak: free the nttlist (network host list) on exit --- diff --git a/citadel/file_ops.c b/citadel/file_ops.c index 2e7c4f707..e4453cbdb 100644 --- a/citadel/file_ops.c +++ b/citadel/file_ops.c @@ -48,9 +48,9 @@ /* * network_talking_to() -- concurrency checker */ +static char *nttlist = NULL; int network_talking_to(char *nodename, int operation) { - static char *nttlist = NULL; char *ptr = NULL; int i; char buf[SIZ]; @@ -102,6 +102,14 @@ int network_talking_to(char *nodename, int operation) { return(retval); } +void cleanup_nttlist(void) +{ + begin_critical_section(S_NTTLIST); + if (nttlist != NULL) + free(nttlist); + nttlist = NULL; + end_critical_section(S_NTTLIST); +} @@ -824,6 +832,7 @@ CTDL_MODULE_INIT(file_ops) CtdlRegisterProtoHook(cmd_nuop, "NUOP", "Open a network spool file for upload"); CtdlRegisterProtoHook(cmd_oimg, "OIMG", "Open an image file for download"); CtdlRegisterProtoHook(cmd_uimg, "UIMG", "Upload an image file"); + CtdlRegisterCleanupHook(cleanup_nttlist); } /* return our Subversion id for the Log */ return "file_ops";