summaryrefslogtreecommitdiff
path: root/res/res_config_ldap.c
diff options
context:
space:
mode:
Diffstat (limited to 'res/res_config_ldap.c')
-rw-r--r--res/res_config_ldap.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/res/res_config_ldap.c b/res/res_config_ldap.c
index ab71d8b7e..56f95ac01 100644
--- a/res/res_config_ldap.c
+++ b/res/res_config_ldap.c
@@ -687,7 +687,9 @@ static void append_var_and_value_to_filter(struct ast_str **filter,
ast_debug(2, "name='%s' value='%s'\n", name, value);
if (like_pos) {
- name = new_name = ast_strdupa(like_pos + strlen(" LIKE"));
+ int len = like_pos - name;
+ name = new_name = ast_strdupa(name);
+ new_name[len] = '\0';
value = new_value = ast_strdupa(value);
replace_string_in_string(new_value, "\\_", "_");
replace_string_in_string(new_value, "%", "*");
@@ -725,9 +727,10 @@ static struct ast_variable **realtime_ldap_base_ap(unsigned int *entries_count_p
return NULL;
}
- if (!(filter = ast_str_create(80)))
+ if (!(filter = ast_str_create(80))) {
ast_free(clean_basedn);
return NULL;
+ }
/* Get the first parameter and first value in our list of passed paramater/value pairs */
newparam = va_arg(ap, const char *);