Memleaksearch
[citadel.git] / citadel / modules / imap / serv_imap.c
index eab1e8571803cc11f754321e9a565d27781d8bd1..7cf4bb948452460fbda6bea831e2e964c44f1c7b 100644 (file)
@@ -366,7 +366,7 @@ void imap_rescan_msgids(void)
         */
        cdbfr = cdb_fetch(CDB_MSGLISTS, &CC->room.QRnumber, sizeof(long));
        if (cdbfr != NULL) {
-               msglist = malloc(cdbfr->len);
+               msglist = malloc(cdbfr->len + 1);
                if (msglist == NULL) {
                        syslog(LOG_CRIT, "IMAP: malloc() failed");
                        CC->kill_me = KILLME_MALLOC_FAILED;
@@ -460,7 +460,7 @@ void imap_rescan_msgids(void)
                IAPrintf("* %d RECENT\r\n", num_recent);
        }
 
-       if (num_msgs != 0) {
+       if (msglist != NULL) {
                free(msglist);
        }
        Imap->last_mtime = CC->room.QRmtime;