summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/ldap/ldap.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c
index 8451c637f9..4962f0a210 100644
--- a/ext/ldap/ldap.c
+++ b/ext/ldap/ldap.c
@@ -957,14 +957,14 @@ PHP_FUNCTION(ldap_get_values)
}
add_assoc_long(return_value, "count", num_values);
-
ldap_value_free(ldap_value);
+
}
/* }}} */
/* {{{ proto array ldap_get_values_len(int link, int result, string attribute)
- Get the lengths for all values from a result entry */
+ Get all values with lengths from a result entry */
PHP_FUNCTION(ldap_get_values_len)
{
pval **link, **result_entry, **attr;
@@ -974,8 +974,7 @@ PHP_FUNCTION(ldap_get_values_len)
struct berval **ldap_value_len;
int i, num_values;
- if (ZEND_NUM_ARGS() != 3 ||
- zend_get_parameters_ex(3, &link, &result_entry, &attr) == FAILURE) {
+ if (ZEND_NUM_ARGS() != 3 || zend_get_parameters_ex(3, &link, &result_entry, &attr) == FAILURE) {
WRONG_PARAM_COUNT;
}
@@ -1007,10 +1006,12 @@ PHP_FUNCTION(ldap_get_values_len)
}
for (i=0; i<num_values; i++) {
- add_next_index_string(return_value, ldap_value_len[i]->bv_val, 1);
+ add_next_index_stringl(return_value, ldap_value_len[i]->bv_val, ldap_value_len[i]->bv_len, 1);
}
add_assoc_long(return_value, "count", num_values);
+ ldap_value_free_len(ldap_value_len);
+
}
/* }}} */