goto error_return;
}
- if( sat->sat_syntax != NULL && sat->sat_syntax != syn ) {
- code = SLAP_SCHERR_ATTR_BAD_SUP;
- goto error_return;
+ if ( sat->sat_syntax != NULL && sat->sat_syntax != syn ) {
+ /* BEWARE: no loop detection! */
+ if ( syn_is_sup( sat->sat_syntax, syn ) ) {
+ code = SLAP_SCHERR_ATTR_BAD_SUP;
+ goto error_return;
+ }
}
sat->sat_syntax = syn;