]> git.sur5r.net Git - openldap/commitdiff
Fix attrs handling
authorHoward Chu <hyc@openldap.org>
Wed, 26 Dec 2001 08:49:27 +0000 (08:49 +0000)
committerHoward Chu <hyc@openldap.org>
Wed, 26 Dec 2001 08:49:27 +0000 (08:49 +0000)
servers/slapd/back-tcl/tcl_search.c

index dad14c820560bd243c5a358a9ec0be357cf7a7a9..3f557d47578ef1f0b2e023eeeb5d4951ea45af2c 100644 (file)
@@ -36,6 +36,7 @@ tcl_back_search (
        char *attrs_tcl = NULL, *suf_tcl, *results, *command;
        int i, err = 0, code;
        struct tclinfo *ti = (struct tclinfo *) be->be_private;
+       char **sattrs = NULL;
        Entry *e;
 
        if (ti->ti_search == NULL) {
@@ -44,9 +45,12 @@ tcl_back_search (
                return (-1);
        }
 
-       for (i = 0; attrs != NULL && attrs[i] != NULL; i++);
-       if (i > 0)
-               attrs_tcl = Tcl_Merge (i, attrs);
+       for (i = 0; attrs != NULL && attrs[i] != NULL; i++)
+               charray_add(&sattrs, attrs[i]->bv_val);
+       if (i > 0) {
+               attrs_tcl = Tcl_Merge (i, sattrs);
+               charray_free(sattrs);
+       }
 
        for (i = 0; be->be_suffix[i] != NULL; i++);
        suf_tcl = Tcl_Merge (i, be->be_suffix);