savepos = ss;
at->at_oid = parse_numericoid(&ss,code,0);
if ( !at->at_oid ) {
- if ( flags & ( LDAP_SCHEMA_ALLOW_NO_OID
- | LDAP_SCHEMA_ALLOW_OID_MACRO ) ) {
+ if ( ( flags & ( LDAP_SCHEMA_ALLOW_NO_OID
+ | LDAP_SCHEMA_ALLOW_OID_MACRO ) )
+ && (ss == savepos) ) {
/* Backtracking */
ss = savepos;
kind = get_token(&ss,&sval);
savepos = ss;
oc->oc_oid = parse_numericoid(&ss,code,0);
if ( !oc->oc_oid ) {
- if ( flags & LDAP_SCHEMA_ALLOW_ALL ) {
+ if ( (flags & LDAP_SCHEMA_ALLOW_ALL) && (ss == savepos) ) {
/* Backtracking */
ss = savepos;
kind = get_token(&ss,&sval);