]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/schema.c
tolerate that config_get_vals() returns success with no values (ITS#4341)
[openldap] / servers / slapd / schema.c
index c2f0970ff9b1615a0e4381909ee6a11f99b1979e..e78686c75847fac1f17819850275700855d3d91a 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2005 The OpenLDAP Foundation.
+ * Copyright 1998-2006 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -83,7 +83,7 @@ schema_info( Entry **entry, const char **text )
                int rc;
                AttributeDescription *desc = NULL;
                struct berval rdn = frontendDB->be_schemadn;
-               vals[0].bv_val = strchr( rdn.bv_val, '=' );
+               vals[0].bv_val = ber_bvchr( &rdn, '=' );
 
                if( vals[0].bv_val == NULL ) {
                        *text = "improperly configured subschema subentry";
@@ -102,8 +102,8 @@ schema_info( Entry **entry, const char **text )
                        return LDAP_OTHER;
                }
 
-               nvals[0].bv_val = strchr( frontendDB->be_schemandn.bv_val, '=' );
-               assert( nvals[0].bv_val );
+               nvals[0].bv_val = ber_bvchr( &frontendDB->be_schemandn, '=' );
+               assert( nvals[0].bv_val != NULL );
                nvals[0].bv_val++;
                nvals[0].bv_len = frontendDB->be_schemandn.bv_len -
                        (nvals[0].bv_val - frontendDB->be_schemandn.bv_val);