]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/overlays/constraint.c
check for ee == NULL
[openldap] / servers / slapd / overlays / constraint.c
index feddb7a395290a7f5bc8017a6c9fd9c3ee35b559..aed82a66208e7b0352df91480926311baee2de35 100644 (file)
@@ -87,7 +87,6 @@ constraint_cf_gen( ConfigArgs *c )
     struct berval bv;
     int i, rc = 0;
     constraint ap = { NULL, NULL, NULL  }, *a2 = NULL;
-    regmatch_t rm[2];
     const char *text = NULL;
     
     switch ( c->op ) {
@@ -169,10 +168,10 @@ constraint_cf_gen( ConfigArgs *c )
             switch (c->type) {
                 case CONSTRAINT_ATTRIBUTE:
                     if ( slap_str2ad( c->argv[1], &ap.ap, &text ) ) {
-                                               snprintf( c->msg, sizeof( c->msg ),
+                                               snprintf( c->cr_msg, sizeof( c->cr_msg ),
                                                        "%s <%s>: %s\n", c->argv[0], c->argv[1], text );
                         Debug( LDAP_DEBUG_CONFIG|LDAP_DEBUG_NONE,
-                               "%s: %s\n", c->log, c->msg, 0 );
+                               "%s: %s\n", c->log, c->cr_msg, 0 );
                         return( ARG_BAD_CONF );
                     }
 
@@ -186,21 +185,21 @@ constraint_cf_gen( ConfigArgs *c )
                             
                             regerror( err, ap.re, errmsg, sizeof(errmsg) );
                             ch_free(ap.re);
-                                                       snprintf( c->msg, sizeof( c->msg ),
+                                                       snprintf( c->cr_msg, sizeof( c->cr_msg ),
                                    "%s %s: Illegal regular expression \"%s\": Error %s",
                                    c->argv[0], c->argv[1], c->argv[3], errmsg);
                             Debug( LDAP_DEBUG_CONFIG|LDAP_DEBUG_NONE,
-                                                                       "%s: %s\n", c->log, c->msg, 0 );
+                                                                       "%s: %s\n", c->log, c->cr_msg, 0 );
                             ap.re = NULL;
                             return( ARG_BAD_CONF );
                         }
                         ap.re_str = ch_strdup( c->argv[3] );
                     } else {
-                                               snprintf( c->msg, sizeof( c->msg ),
+                                               snprintf( c->cr_msg, sizeof( c->cr_msg ),
                                "%s %s: Unknown constraint type: %s",
                                c->argv[0], c->argv[1], c->argv[2] );
                         Debug( LDAP_DEBUG_CONFIG|LDAP_DEBUG_NONE,
-                               "%s: %s\n", c->log, c->msg, 0 );
+                               "%s: %s\n", c->log, c->cr_msg, 0 );
                         return ( ARG_BAD_CONF );
                     }
                     
@@ -238,14 +237,14 @@ constraint_violation( constraint *c, struct berval *bv )
 }
 
 static char *
-print_message( const char *fmt, AttributeDescription *a )
+print_message( const char *errtext, AttributeDescription *a )
 {
     char *ret;
     int sz;
     
-    sz = strlen(fmt) + a->ad_cname.bv_len + 1;
+    sz = strlen(errtext) + sizeof(" on ") + a->ad_cname.bv_len;
     ret = ch_malloc(sz);
-    snprintf( ret, sz, fmt, a->ad_cname.bv_val );
+    snprintf( ret, sz, "%s on %s", errtext, a->ad_cname.bv_val );
     return ret;
 }
 
@@ -257,7 +256,7 @@ constraint_add( Operation *op, SlapReply *rs )
     constraint *c = on->on_bi.bi_private, *cp;
     BerVarray b = NULL;
     int i;
-    const char *rsv = "add breaks regular expression constraint on %s";
+    const char *rsv = "add breaks regular expression constraint";
     char *msg;
     
     if ((a = op->ora_e->e_attrs) == NULL) {
@@ -302,7 +301,7 @@ constraint_modify( Operation *op, SlapReply *rs )
     Modifications *m;
     BerVarray b = NULL;
     int i;
-    const char *rsv = "modify breaks regular expression constraint on %s";
+    const char *rsv = "modify breaks regular expression constraint";
     char *msg;
     
     if ((m = op->orm_modlist) == NULL) {
@@ -344,8 +343,8 @@ constraint_modify( Operation *op, SlapReply *rs )
 
 static int
 constraint_close(
-    BackendDB *be
-    )
+       BackendDB *be,
+       ConfigReply *cr )
 {
     slap_overinst *on = (slap_overinst *) be->bd_info;
     constraint *ap, *a2;