]> code.citadel.org Git - citadel.git/blobdiff - citadel/modules/pop3client/serv_pop3client.c
Fix memleaks
[citadel.git] / citadel / modules / pop3client / serv_pop3client.c
index 9e9ac87d0baa91dded211f6f9f0011d461aa5fd8..efe1c8d8cc0a8934171e2e1bed33b6e8732fb42b 100644 (file)
@@ -869,6 +869,9 @@ int pop3_do_fetching(pop3aggr *cpptr)
        SubC = CloneContext (&pop3_client_CC);
        SubC->session_specific_data = (char*) cpptr;
        cpptr->IO.CitContext = SubC;
+       safestrncpy(SubC->cs_host, 
+                   ChrPtr(cpptr->Url),
+                   sizeof(SubC->cs_host)); 
 
        if (cpptr->IO.ConnectMe->IsIP) {
                QueueEventContext(&cpptr->IO,
@@ -1046,10 +1049,10 @@ void pop3client_scan_room(struct ctdlroom *qrbuf, void *data)
        FreeStrBuf(&CfgData);
 }
 
+static int doing_pop3client = 0;
 
 void pop3client_scan(void) {
        static time_t last_run = 0L;
-       static int doing_pop3client = 0;
 ///    struct pop3aggr *pptr;
        time_t fastest_scan;
        HashPos *it;
@@ -1114,7 +1117,8 @@ void pop3client_scan(void) {
 void pop3_cleanup(void)
 {
        /* citthread_mutex_destroy(&POP3QueueMutex); TODO */
-//     DeleteHash(&POP3FetchUrls);
+       while (doing_pop3client != 0) ;
+       DeleteHash(&POP3FetchUrls);
        DeleteHash(&POP3QueueRooms);
 }