--- res_config_ldap.c 2008-02-15 22:29:08.000000000 +0500 +++ res_config_ldap.c.alter 2008-03-01 16:04:23.000000000 +0500 @@ -687,7 +687,7 @@ ast_debug(2, "name='%s' value='%s'\n", name, value); if (like_pos) { - name = new_name = ast_strdupa(like_pos + strlen(" LIKE")); + name = new_name = ast_strdupa(name); value = new_value = ast_strdupa(value); replace_string_in_string(new_value, "\\_", "_"); replace_string_in_string(new_value, "%", "*"); @@ -725,9 +725,10 @@ 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 *);