diff options
Diffstat (limited to 'imap/smap.c')
| -rw-r--r-- | imap/smap.c | 9 | 
1 files changed, 9 insertions, 0 deletions
| diff --git a/imap/smap.c b/imap/smap.c index bebf5d0..450e2dc 100644 --- a/imap/smap.c +++ b/imap/smap.c @@ -687,6 +687,7 @@ static void do_listcmd(struct list_hier **head,  					}  					maildir_aclt_list_destroy(&aclt_list); +					maildir_info_destroy(&minfo);  				}  				else  				{ @@ -3141,6 +3142,7 @@ static int dosetdeleteacl(void *cb_arg, int dodelete)  		maildir_aclt_list_destroy(&aclt_list);  		return 0;  	} +	free(path);  	cnt=0;  	maildir_aclt_list_enum(&aclt_list, @@ -3905,6 +3907,8 @@ void smap()  				if (maildir_info_smap_find(&minfo, fn,  							   getenv("AUTHENTICATED")) == 0)  				{ +					maildir_smapfn_free(fn); +  					if (minfo.homedir && minfo.maildir)  					{  						maildir_aclt_list list; @@ -3938,6 +3942,7 @@ void smap()  						{  							if (q)  								free(q); +							maildir_aclt_list_destroy(&list);  							maildir_info_destroy(&minfo);  							accessdenied(ACL_DELETEFOLDER);  							continue; @@ -3949,6 +3954,10 @@ void smap()  					}  					maildir_info_destroy(&minfo);  				} +				else +				{ +					maildir_smapfn_free(fn); +				}  			}  			if (t && current_mailbox && | 
