* fix a leak in GREG
authorWilfried Göesgens <willi@citadel.org>
Tue, 19 Jun 2007 21:32:00 +0000 (21:32 +0000)
committerWilfried Göesgens <willi@citadel.org>
Tue, 19 Jun 2007 21:32:00 +0000 (21:32 +0000)
* fix some unclear conditions mentioned by valgrind.

citadel/serv_extensions.c
citadel/serv_vcard.c

index c3ec9fd07f2709ef8d3a3442bf065b29e90ddc29..e6ae83f7067e10ffa59cb002e1fabe5cea541952 100644 (file)
@@ -103,6 +103,10 @@ void LogPrintMessages(long err)
        snprintf(Message, n * SIZ, ErrGeneral, Short, Where, List, Hint, DetailList);
 
        quickie_message("Citadel", NULL, NULL, AIDEROOM, Message, FMT_FIXED, ErrSubject);
+       if (errormessages!=NULL) free (errormessages);
+       errormessages = NULL;
+       if (portlist!=NULL) free (portlist);
+       portlist = NULL;
        free(Message);
 }
 
@@ -247,6 +251,8 @@ void initialize_server_extensions(void)
 {
        long filter;
 
+       nSizErrmsg = 0;
+
        lprintf(CTDL_INFO, "%s\n", serv_bio_init());
        lprintf(CTDL_INFO, "%s\n", serv_calendar_init());
        lprintf(CTDL_INFO, "%s\n", serv_notes_init());
index 4e639e673fca624ac44377377b73817a5b1caa20..fe20b40af31751c2a7e8517db8365d93df23535b 100644 (file)
@@ -766,6 +766,7 @@ void cmd_greg(char *argbuf)
        extract_token(buf, adr, 6, ';', sizeof buf);
        cprintf("%s\n", buf);                           /* country */
        cprintf("000\n");
+       vcard_free(v);
 }