X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=imap%2Futil.c;h=74b35e9a74c9f4393c1ef507c3ead30f29786b5f;hp=d48101b8337803caf6a6dd1beeb2fcd71b0a7495;hb=eab38ff6950a0075741f24ac9fb0d9eaf7df8671;hpb=8fac066483c9ae3176984527c037190fca9dc7f0 diff --git a/imap/util.c b/imap/util.c index d48101b..74b35e9 100644 --- a/imap/util.c +++ b/imap/util.c @@ -146,19 +146,20 @@ void imap_error (const char *where, const char *msg) * Returns NULL on failure (no mem) */ IMAP_DATA *imap_new_idata (void) { - return p_new(IMAP_DATA, 1); + IMAP_DATA *res = p_new(IMAP_DATA, 1); + buffer_init(&res->cmd.buf); + return res; } /* imap_free_idata: Release and clear storage in an IMAP_DATA structure. */ void imap_free_idata (IMAP_DATA ** idata) { - if (!idata) - return; - - p_delete(&(*idata)->capstr); - string_list_wipe(&(*idata)->flags); - p_delete(&((*idata)->cmd.buf)); - p_delete(idata); + if (*idata) { + p_delete(&(*idata)->capstr); + string_list_wipe(&(*idata)->flags); + buffer_wipe(&((*idata)->cmd.buf)); + p_delete(idata); + } } /*