From e55b6957983cf86e832ce0f362cf8fe518b034ad Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Mon, 3 Dec 2012 20:06:54 +0100 Subject: [PATCH] Avoiding an invalid free() --- src/account/imap4.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/account/imap4.c b/src/account/imap4.c index e8d905a..66abacf 100644 --- a/src/account/imap4.c +++ b/src/account/imap4.c @@ -964,7 +964,9 @@ static void _imap4_folder_delete(IMAP4 * imap4, AccountFolder * folder) for(i = 0; i < folder->folders_cnt; i++) _imap4_folder_delete(imap4, folder->folders[i]); free(folder->folders); - object_delete(folder); + /* XXX rather ugly */ + if(folder != &imap4->folders) + object_delete(folder); }