]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/oc.c
Add NAME check
[openldap] / servers / slapd / oc.c
index c27f518029fe214d8e2bf42d9885d48458003035..6433916327a513880f79a9a158b16f3457cc7e2e 100644 (file)
@@ -350,6 +350,16 @@ oc_add(
        ObjectClass     *soc;
        int             code;
 
+       if ( oc->oc_names != NULL ) {
+               int i;
+
+               for( i=0; oc->oc_names[i]; i++ ) {
+                       if( !slap_valid_descr( oc->oc_names[i] ) ) {
+                               return SLAP_SCHERR_BAD_DESCR;
+                       }
+               }
+       }
+
        soc = (ObjectClass *) ch_calloc( 1, sizeof(ObjectClass) );
        AC_MEMCPY( &soc->soc_oclass, oc, sizeof(LDAPObjectClass) );