[64bit] openldap compilation doesn't produce shared libraries
Yaakov (Cygwin/X)
yselkowitz@users.sourceforge.net
Thu Jun 13 01:52:00 GMT 2013
On 2013-06-10 07:46, Dr. Volker Zell wrote:
> I think the stack trace translates to the following:
>
> Stack trace:
> Frame Function Args
> ber_get_stringbvl
> /usr/src/debug/openldap-2.4.35-1/libraries/liblber/decode.c:414
> ber_scanf
> /usr/src/debug/openldap-2.4.35-1/libraries/liblber/decode.c:790
> ldap_get_attribute_ber
> /usr/src/debug/openldap-2.4.35-1/libraries/libldap/getattr.c:132
> print_entry
> /usr/src/debug/openldap-2.4.35-1/clients/tools/ldapsearch.c:1634
> main
> /usr/src/debug/openldap-2.4.35-1/clients/tools/ldapsearch.c:1222
>
> The offending code line
> case BvOff:
> res.bo = (char *) b->result + b->off;
> ((struct berval *) (res.bo + tot_size))->bv_val = NULL; <- line 414
> tot_size = 0;
> break;
That is where it is crashing, but after some debugging, AFAICS the real
culprit is the call to ber_scanf() in ldap_get_attribute_ber().
Presumably because this is a varargs function, the compiler wasn't able
to handle the necessary type promotion automatically (ber_len_t is an
unsigned long); so b->off was showing here as 0x600000000, taking line
414 off to la-la land. Patch attached and pushed to Ports git.
Yaakov
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openldap-ber_scanf-segv.patch
Type: text/x-patch
Size: 471 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-apps/attachments/20130613/8219ae17/attachment.bin>
More information about the Cygwin-apps
mailing list