From 0d7ca663831fc7b769a80211aeb12bbe958e349e Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Sat, 3 Dec 2011 11:07:16 +0100 Subject: [PATCH] Memleaksearch - malloc a length in every case by adding a bonus byte - check for whether we have a pointer or not. --- citadel/modules/imap/serv_imap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/citadel/modules/imap/serv_imap.c b/citadel/modules/imap/serv_imap.c index eab1e8571..7cf4bb948 100644 --- a/citadel/modules/imap/serv_imap.c +++ b/citadel/modules/imap/serv_imap.c @@ -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; -- 2.30.2