r10913: This patch isn't as big as it looks ...
[kamenim/samba.git] / source4 / libcli / ldap / ldap.c
index 815d543038285c41af5932ebbb231b46e0b9ae1e..043faabf2f1292080de9dccbbbe6beb004bf8410 100644 (file)
@@ -79,7 +79,7 @@ static BOOL ldap_push_filter(struct asn1_data *data, struct ldb_parse_tree *tree
                i = 0;
                if ( ! tree->u.substring.start_with_wildcard) {
                        asn1_push_tag(data, ASN1_CONTEXT_SIMPLE(0));
-                       asn1_write_LDAPString(data, tree->u.substring.chunks[i]->data);
+                       asn1_write_LDAPString(data, (char *)tree->u.substring.chunks[i]->data);
                        asn1_pop_tag(data);
                        i++;
                }
@@ -93,7 +93,7 @@ static BOOL ldap_push_filter(struct asn1_data *data, struct ldb_parse_tree *tree
                                ctx = 1;
                        }
                        asn1_push_tag(data, ASN1_CONTEXT_SIMPLE(ctx));
-                       asn1_write_LDAPString(data, tree->u.substring.chunks[i]->data);
+                       asn1_write_LDAPString(data, (char *)tree->u.substring.chunks[i]->data);
                        asn1_pop_tag(data);
                        i++;
                }
@@ -159,7 +159,7 @@ static BOOL ldap_push_filter(struct asn1_data *data, struct ldb_parse_tree *tree
                        asn1_pop_tag(data);
                }
                asn1_push_tag(data, ASN1_CONTEXT_SIMPLE(3));
-               asn1_write_LDAPString(data, tree->u.extended.value.data);
+               asn1_write_LDAPString(data, (char *)tree->u.extended.value.data);
                asn1_pop_tag(data);
                asn1_push_tag(data, ASN1_CONTEXT_SIMPLE(4));
                asn1_write_uint8(data, tree->u.extended.dnAttributes);
@@ -517,7 +517,7 @@ static struct ldb_val **ldap_decode_substring(TALLOC_CTX *mem_ctx, struct ldb_va
                return NULL;
        }
 
-       chunks[chunk_num]->data = talloc_strdup(mem_ctx, value);
+       chunks[chunk_num]->data = (uint8_t *)talloc_strdup(mem_ctx, value);
        if (chunks[chunk_num]->data == NULL) {
                return NULL;
        }
@@ -631,8 +631,7 @@ static struct ldb_parse_tree *ldap_decode_filter_tree(TALLOC_CTX *mem_ctx,
                }
 
                ret->operation = LDB_OP_SUBSTRING;
-               ret->u.substring.attr = talloc_memdup(ret, attr.data, attr.length + 1);
-               ret->u.substring.attr[attr.length] = '\0';
+               ret->u.substring.attr = talloc_strndup(ret, (char *)attr.data, attr.length);
                ret->u.substring.chunks = NULL;
                ret->u.substring.start_with_wildcard = 1;
                ret->u.substring.end_with_wildcard = 1;