diff --git a/clients/maildap/main.c b/clients/maildap/main.c index d5a258b99b..f45d3fe949 100644 --- a/clients/maildap/main.c +++ b/clients/maildap/main.c @@ -702,7 +702,7 @@ new_group( char *dn, Group ***list, int *nlist ) Group *this_group; for ( i = 0; i < *nlist; i++ ) { - if ( strcmp( dn, (*list)[i]->g_dn ) == 0 ) { + if ( strcasecmp( dn, (*list)[i]->g_dn ) == 0 ) { syslog( LOG_ALERT, "group loop 2 detected (%s)", dn ); return NULL; } @@ -1317,6 +1317,13 @@ entry_engine( } else { current_group = new_group( dn, togroups, ngroups ); + if ( ! current_group ) + /* + * We have already considered + * this group, so we just + * return resolved. + */ + return 1; current_to = ¤t_group->g_members; current_nto = ¤t_group->g_nmembers; split_address( address,