This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [64bit] openldap compilation doesn't produce shared libraries


On Jun 13 10:37, Dr. Volker Zell wrote:
> >>>>> Yaakov  writes:
> 
>     > 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.
> 
> Thanks for the patch. I will try the openldap 64bit testsuite on the
> weekend.
> 
> By the way is this something which should be send to upstream ? or is it
> cygwin specific.

Not casting to the required datatype size is a bug.  While it works on
other 64 bit systems, it only does so because the ABI it has been ported
to is forgiving so the bug hasn't been noticed.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]