diff --git a/src/driver.c b/src/driver.c index 6eabb9b..31066bb 100644 --- a/src/driver.c +++ b/src/driver.c @@ -24,12 +24,11 @@ count_generic_messages( message_t *msgs ) void free_generic_messages( message_t *msgs ) { - message_t *tmsg; - - for (; msgs; msgs = tmsg) { - tmsg = msgs->next; + while (msgs) { + message_t *tmsg = msgs->next; free( msgs->msgid ); free( msgs ); + msgs = tmsg; } } diff --git a/src/drv_maildir.c b/src/drv_maildir.c index 0dce555..8514d3c 100644 --- a/src/drv_maildir.c +++ b/src/drv_maildir.c @@ -251,11 +251,12 @@ maildir_connect_store( store_t *gctx, static void free_maildir_messages( maildir_message_t *msg ) { - for (maildir_message_t *tmsg; (tmsg = msg); msg = tmsg) { - tmsg = msg->next; + while (msg) { + maildir_message_t *tmsg = msg->next; free( msg->base ); free( msg->msgid ); free( msg ); + msg = tmsg; } }