On Sat, 8 Mar 2008, Brian Hechinger wrote: ...
I can bind without issue, but I need to retrieve the values held by a specific multi valued attribute, and that's where I'm having issues.
I was using ldap_get_values() and all the other deprecated functions, but have recently converted my code to only use what's available in 2.4.x
Sadly, that didn't fix the problem, it still happens.
This line:
attr_values = ldap_get_values_len(ldap_conn, entry, attr);
Segfaults with SIGABRT and prints this to stderr:
Assertion failed: (LBER_VALID( ber )), function ber_scanf, file decode.c, line 779.
You passed an invalid 'entry' value to ldap_get_values_len(). Where did that value come from? (i.e., what's the code that leads up to that call?) Presumably there was a search that ended with an ldap_result() call. What sort of checking of the result of ldap_result() did you perform to handle errors and timeouts?
Philip Guenther