on error, parse_imap_list() needs to reset the nesting level in the state, as imap_socket_read() uses that as an indicator whether list parsing is ongoing.
@@ -924,6 +924,7 @@ parse_imap_list( imap_store_t *ctx, char **sp, parse_list_state_t *sts )
}
bail:
free_list( sts->head );
+ sts->level = 0;
return LIST_BAD;